一、簡介
OLMo 是由AI2 發布的大語言模型以及構建框架,與大多數之前的嘗試只發布模型權重和推理代碼不同,OLMo 開源了整個框架,包括訓練數據、訓練代碼以及模型評估代碼。
OLMo框架包括構建和研究語言模型所需的工具和資源。對于訓練和建模,它包括完整的模型權重、訓練代碼、訓練日志、消融實驗、以Weights & Biases日志形式的訓練指標,以及推理代碼。這次發布包括我們的語言模型在7B規模上的四個變體,對應不同的架構、優化器和訓練硬件,以及一個1B規模的模型,所有模型都至少訓練了2T token。OLMo 作者還在HuggingFace上作為修訂版發布了數百個中間檢查點。對于數據集構建和分析,它包括用于這些模型的完整訓練數據,包括生成訓練數據的代碼,來自AI2的Dolma 和用于分析預訓練數據的WIMBD。對于評估,它包括AI2的Catwalk 用于下游評估和Paloma 用于基于困惑度的評估。
OLMo 也是基于Transformer Decoder-only 架構,并做了如下主要改變:
- 無偏置項,以提高訓練穩定性。
- 非參數化層歸一化,對比參數化層歸一化和RMSNorm,OLMo 作者認為這是最安全的選擇,也是最快的選擇。
- SwiGLU激活函數,與LLaMA、PaLM和其他模型一樣,使用SwiGLU 代替ReLU。
- 旋轉位置嵌入(RoPE),與LLaMA、PaLM和其他模型一樣,用RoPE 替換了絕對位置嵌入。
- 詞匯表,OLMo 作者修改 GPT-NeoX-20B tokenizer ,添加了用于屏蔽個人身份信息(PII)的額外標記。最終的詞匯表大小為50,280。然而,為