# 【生成式AI導論 2024】第10講:今日的語言模型是如何做文字接龍的 — 淺談Transformer ## Transformer做了什麼把輸入轉為輸出  1. Tokenization: 文字轉為Token 2. Input Layer: 理解每個Token 3. Attention: 考慮Token跟Token間的關係 4. Feed Forward Network: 把Attention的輸出整合併進一步思考 5. Output Layer: 把輸出轉為機率的分佈 ## Tokenization * 語言模型是以Token為單位對文字處理 * 在一開始就會有個Token list,告訴程式要怎麼切割token,這個token list通常來自於人類對語研的理解,例如中文就是方塊字。 * Byte Pair Encodeing(BPE)是一個找Token的方法,主要是找語言中哪些東西很常一起出現。 * 到目前為止沒有需要訓練的參數,都是人類的定義。 ## Input Layer  * 稱作Embedding * 把Token轉為向量 * 相近的token就會有相近的Embedding * Token Embedding的參數是訓練得來的參數,這個訓練過程還沒有考慮上下文 * 接下來加入位置資訊(positional encoding) * 近年來positional embedding也可以使用訓練取得較好的算法 ## Attention & FFN * 在Attention前,Embedding的結果相同,因為Embedding沒有參考前後文資訊,所以無法分辨在句子中不同位置的詞意差別 * Attention後因為參考位置,所以可以給出相同token在句子不同位置中的不同意思 * 相關Attention的說明參考之前的筆記,我覺得老師在這邊為了簡化反而講的不好。簡單來說就是介紹了Attention跟Masked(Causal) Attention、Multi-head Attention。 * 相關內容: * 如何快速進行 Attention * [Overview](https://youtu.be/yHoAq1IT_og?si=2ZqqelyCYrt8l7DT) * 達成無限長度的 Attention? * https://arxiv.org/abs/2309.17453 * https://arxiv.org/abs/2404.07143 * Train short, Test Long * [ALiBi](https://arxiv.org/abs/2108.12409) * [Position Interpolation](https://arxiv.org/abs/2306.15595) ([RoPE](https://arxiv.org/abs/2104.09864)) * 其他類神經網路架構的可能性 * [Mamba](https://arxiv.org/abs/2312.00752) * [Jamba](https://arxiv.org/abs/2403.19887) ## Output Layer * Linear Transform,輸出一個機率分佈,將下一個產生的token機率輸出來
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up