AI Agent: 能執行多步驟複雜任務的AI,能做計畫並能根據現況調整計畫。
AI Agent運作原理:
- 目標:AI Agent想達成的任務
- 記憶:過去與環境互動的經驗(可修改)
- 感知:透過感官(文字、影像、聲音、觸碰)了解外界狀態
- 計畫:根據目標、記憶、狀態產生的短期目標和行動方案(可修改)
- 行動:根據計畫進行操作
- 學習與適應:根據環境變化調整計畫和記憶
有記憶能力的AI,LLM+RAG:
- LLM做摘要存進資料庫
- 開起新對話時,LLM對過去的記憶先做RAG
Transformer概述:
- tokenization: 文字轉token
- input layer: 理解token
- attention: 理解token與token之間的關係
- feed forward: 思考、整合(3、4為一個transform block)
- output lyaer: 將transform block的輸出轉為機率分布
Tokenization
- 語言模型的輸入輸出是token
- 將一段文字變成有訊列的token
- 需要有一個token list,語言模型對處理文字的基本單位
token list可以自訂
或使用byte pair encoding(BPE),收集大量文字並統計哪些文字常一起出現那就是一個token
Input layer
理解token語意
- embedding是將文字token轉為向量的過程,作用是讓後續類神經網路處理過程中知道token與token之間的關聯性
- token如何轉為向量?語言模型在訓練時得到的參數可以將token轉換為對應的向量,token embedding的列表,因此embedding的過程就是查表。
理解token位置
- token位置不同,表達的意思也不同
- 如何將位置資訊加入token的embedding?
- positional embedding,為token每一個位置也設置一個向量
- 將語意與位置的embedding資訊合併
Attention
- contextualized token embedding,根據句子的上下文語意同個token embedding轉為不同的embedding
- 輸入x個embedding後,輸出已加入上下文後的x個embedding資訊
1.從整個句子找出與目標token相關的token,也就是目標token與句子中隨機一個token去計算相關性得出attention weight分數,例如0.1(計算相關性也是由函式得出並且也可以學習)
2.集合相關資訊,將目標token做wighted sum,輸出新的embedding(▍ = 0.1x▍ + 0.5x▍ + 0.0x▍ + 0.4x▍ + 0.0x▍,▍是embedding)
3. 計算兩兩token間的相關性,最後集合成attention matrix
4. causal attention,語言模型實做時只會計算左邊的token
- multi-head attention:相關性不只一種,因此需要多種計算關聯性的模組。並且根據每一種關聯性都會給一組輸出
Feed forward
- 將attention輸出的多個向量,綜合考慮後輸出最終embedding
- 也是neural network,參數也是被訓練出來的
- transform block(Attention + Feed forward)
一個transform block也可以稱為一個layer
做多層transform block後,將句尾的向量輸入至output
Output lyaer
- linear transformer + softmax
- 最終輸出一個機率分布