RAG
參考
- 檢索增強生成(RAG)概念及優化
主流模型
llama系列
1. 背景:模型參數量級的積累,或者訓練數據的增加,哪個對性能提升幫助更大?
最近的 “Training Compute-Optimal Large Language Models” 這篇論文提出一種縮放定律 (Scaling Law):訓練大語言模型時,在計算成本達到最優情況下,模型大小和訓練數據 (token) 的數量應該比例相等地縮放,即:如果模型的大小加倍,那么訓練數據的數量也應該加倍。翻譯過來就是:當我們給定特定的計算成本預算的前提下,語言模型的最佳性能不僅僅可以通過設計較大的模型搭配小一點的數據集得到,也可以通過設計較小的模型配合大量的數據集得到。
那么,相似成本訓練 LLM,是大 LLM 配小數據訓練,還是小 LLM 配大數據訓練更好?
縮放定律 (Scaling Law) 告訴我們對于給定的特定的計算成本預算,如何去匹配最優的模型和數據的大小。但是本文作者團隊認為,這個功能只考慮了總體的計算成本,忽略了推理時候的成本。因為大部分社區用戶其實沒有訓練 LLM 的資源,他們更多的是拿著訓好的 LLM 來推理。在這種情況下,我們首選的模型應該不是訓練最快的,而應該是推理最快的 LLM。呼應上題,本文認為答案就是:小 LLM 配大數據訓練更好,因為小 LLM 推理更友好。
2. 數據
- LLaMa 預訓練數據大約包含 1.4T tokens,對于絕大部分的訓練數據,在訓練期間模型只見到過1次,Wikipedia 和 Books 這兩個數據集見過2次
3. tokenizer
- byte pair encoding(BPE) 算法
- LLaMa 的 PyTorch 代碼如下,用到了 sentence piece 這個庫