模型概述
模型特點
模型能力
使用案例
🚀 MobileLLM
MobileLLM是一種專為設備端應用優化的語言模型,它採用了優化的變壓器架構,能在資源受限的設備上高效運行,在零樣本常識推理任務中表現出色。
🚀 快速開始
我們提供了兩種運行模型的方式:
HuggingFace
若要加載預訓練模型以進行進一步的微調或評估,可使用以下代碼:
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("facebook/MobileLLM-125M", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("facebook/MobileLLM-125M", trust_remote_code=True)
請注意,默認的分詞器不包含特殊標記。例如,你可以使用以下代碼添加特殊標記:
tokenizer.add_special_tokens(
{
"eos_token": "</s>",
"bos_token": "<s>",
"unk_token": "<unk>",
}
)
MobileLLM代碼庫
我們在 https://github.com/facebookresearch/MobileLLM 提供了預訓練代碼。
> git clone https://github.com/facebookresearch/MobileLLM
> pip install -r requirement.txt
# 數據預處理並在pretrain.sh中指定數據路徑
# 運行預訓練
> bash pretrain.sh
我們還提供了用於計算維基文本 - 2測試集困惑度的評估腳本:
> bash eval.sh
你可以在GitHub倉庫中找到更多詳細信息。
✨ 主要特性
- 優化架構:MobileLLM是一種自迴歸語言模型,採用了優化的變壓器架構,專為資源受限的設備端應用而設計。
- 關鍵技術集成:集成了多種關鍵技術,包括SwiGLU激活函數、深而窄的架構、嵌入共享和分組查詢注意力。
- 出色性能:在零樣本常識推理任務中,MobileLLM - 125M/350M比之前的125M/350M最先進模型分別提高了2.7%/4.3%的準確率。在更新版本中,MobileLLM - 600M/1B/1.5B也取得了最先進的結果。
📦 安裝指南
HuggingFace方式
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("facebook/MobileLLM-125M", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("facebook/MobileLLM-125M", trust_remote_code=True)
MobileLLM代碼庫方式
> git clone https://github.com/facebookresearch/MobileLLM
> pip install -r requirement.txt
💻 使用示例
基礎用法
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("facebook/MobileLLM-125M", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("facebook/MobileLLM-125M", trust_remote_code=True)
高級用法
# 添加特殊標記
tokenizer.add_special_tokens(
{
"eos_token": "</s>",
"bos_token": "<s>",
"unk_token": "<unk>",
}
)
📚 詳細文檔
模型詳情
MobileLLM在論文 "MobileLLM: Optimizing Sub - billion Parameter Language Models for On - Device Use Cases" 中被提出,並於2024年發表在ICML會議上。
模型架構參數
模型 | 層數 | 注意力頭數 | KV頭數 | 詞元維度 | 參數數量 |
---|---|---|---|---|---|
MobileLLM - 125M | 30 | 9 | 3 | 576 | 124.6M |
MobileLLM - 350M | 32 | 15 | 5 | 960 | 345.3M |
MobileLLM - 600M | 40 | 18 | 6 | 1152 | 603.1M |
MobileLLM - 1B | 54 | 20 | 5 | 1280 | 1.01B |
MobileLLM - 1.5B | 54 | 25 | 5 | 1600 | 1.51B |
模型訓練與使用相關信息
模型 | 訓練數據 | 輸入模態 | 輸出模態 | 上下文長度 | 分組查詢注意力(GQA) | 共享嵌入 | 詞元數量 |
---|---|---|---|---|---|---|---|
MobileLLM - 125M | 公開可用的在線數據 | 文本 | 文本 | 2k | 是 | 是 | 1T詞元 |
MobileLLM - 350M | 公開可用的在線數據 | 文本 | 文本 | 2k | 是 | 是 | 1T詞元 |
MobileLLM - 600M | 公開可用的在線數據 | 文本 | 文本 | 2k | 是 | 是 | 1T詞元 |
MobileLLM - 1B | 公開可用的在線數據 | 文本 | 文本 | 2k | 是 | 是 | 1T詞元 |
MobileLLM - 1.5B | 公開可用的在線數據 | 文本 | 文本 | 2k | 是 | 是 | 1T詞元 |
訓練成本
使用32個NVIDIA A100 80G GPU在1T詞元上訓練MobileLLM所需的天數如下:
125M | 350M | 600M | 1B | 1.5B |
---|---|---|---|---|
~3天 | ~6天 | ~8天 | ~12天 | ~18天 |
評估
我們在零樣本常識推理任務上對預訓練的MobileLLM模型進行了評估。
MobileLLM - 125M
模型 | arc_easy | arc_challenge | boolq | piqa | siqa | hellaswag | obqa | winogrande | 平均 |
---|---|---|---|---|---|---|---|---|---|
OPT - 125M | 41.3 | 25.2 | 57.5 | 62.0 | 41.9 | 31.1 | 31.2 | 50.8 | 42.6 |
GPT - neo - 125M | 40.7 | 24.8 | 61.3 | 62.5 | 41.9 | 29.7 | 31.6 | 50.7 | 42.9 |
Pythia - 160M | 40.0 | 25.3 | 59.5 | 62.0 | 41.5 | 29.9 | 31.2 | 50.9 | 42.5 |
MobileLLM - 125M | 43.9 | 27.1 | 60.2 | 65.3 | 42.4 | 38.9 | 39.5 | 53.1 | 46.3 |
MobileLLM - LS - 125M | 45.8 | 28.7 | 60.4 | 65.7 | 42.9 | 39.5 | 41.1 | 52.1 | 47.0 |
MobileLLM - 350M
模型 | arc_easy | arc_challenge | boolq | piqa | siqa | hellaswag | obqa | winogrande | 平均 |
---|---|---|---|---|---|---|---|---|---|
OPT - 350M | 41.9 | 25.7 | 54.0 | 64.8 | 42.6 | 36.2 | 33.3 | 52.4 | 43.9 |
Pythia - 410M | 47.1 | 30.3 | 55.3 | 67.2 | 43.1 | 40.1 | 36.2 | 53.4 | 46.6 |
MobileLLM - 350M | 53.8 | 33.5 | 62.4 | 68.6 | 44.7 | 49.6 | 40.0 | 57.6 | 51.3 |
MobileLLM - LS - 350M | 54.4 | 32.5 | 62.8 | 69.8 | 44.1 | 50.6 | 45.8 | 57.2 | 52.1 |
MobileLLM - 600M
模型 | arc_easy | arc_challenge | boolq | piqa | siqa | hellaswag | obqa | winogrande | 平均 |
---|---|---|---|---|---|---|---|---|---|
Qwen1.5 - 500M | 54.7 | 32.1 | 46.9 | 68.9 | 46.0 | 48.8 | 37.7 | 55.0 | 48.8 |
BLOOM - 560M | 43.7 | 27.5 | 53.7 | 65.1 | 42.5 | 36.5 | 32.6 | 52.2 | 44.2 |
MobiLlama - 800M | 52.0 | 31.7 | 54.6 | 73.0 | 43.3 | 52.3 | 42.5 | 56.3 | 50.7 |
MobileLLM - 600M | 58.1 | 35.8 | 61.0 | 72.3 | 44.9 | 55.9 | 47.9 | 58.6 | 54.3 |
MobileLLM - 1B
模型 | arc_easy | arc_challenge | boolq | piqa | siqa | hellaswag | obqa | winogrande | 平均 |
---|---|---|---|---|---|---|---|---|---|
Pythia - 1B | 49.9 | 30.4 | 58.7 | 69.2 | 43.3 | 47.4 | 38.6 | 52.2 | 48.7 |
MobiLlama - 1B | 59.7 | 38.4 | 59.2 | 74.5 | 44.9 | 62.0 | 43.7 | 59.0 | 55.2 |
Falcon - 1B | 59.5 | 38.4 | 63.9 | 74.6 | 44.6 | 62.9 | 45.6 | 60.9 | 56.3 |
BLOOM - 1.1B | 47.6 | 27.3 | 58.6 | 67.0 | 42.4 | 42.2 | 36.6 | 53.8 | 46.9 |
TinyLlama - 1.1B | 59.2 | 37.1 | 58.1 | 72.9 | 43.9 | 59.1 | 44.7 | 58.8 | 54.2 |
MobileLLM - 1B | 63.0 | 39.0 | 66.7 | 74.4 | 45.0 | 61.4 | 46.8 | 62.3 | 57.3 |
MobileLLM - 1.5B
模型 | arc_easy | arc_challenge | boolq | piqa | siqa | hellaswag | obqa | winogrande | 平均 |
---|---|---|---|---|---|---|---|---|---|
GPT - neo - 1.3B | 51.3 | 33.0 | 61.8 | 70.9 | 43.7 | 48.6 | 41.2 | 54.5 | 50.6 |
OPT - 1.3B | 54.4 | 31.7 | 58.4 | 71.5 | 44.7 | 53.7 | 44.6 | 59.1 | 52.3 |
BLOOM - 1.7B | 50.9 | 31.2 | 61.7 | 70.0 | 43.2 | 47.2 | 36.2 | 56.1 | 49.6 |
Qwen1.5 - 1.8B | 61.1 | 36.5 | 68.3 | 74.1 | 47.2 | 60.4 | 42.9 | 61.2 | 56.5 |
GPT - neo - 2.7B | 55.8 | 34.3 | 62.4 | 72.9 | 43.6 | 55.6 | 40.0 | 57.9 | 52.8 |
OPT - 2.7B | 56.6 | 34.6 | 61.8 | 74.5 | 45.6 | 60.2 | 48.2 | 59.6 | 55.1 |
Pythia - 2.8B | 59.4 | 38.9 | 66.1 | 73.8 | 44.5 | 59.6 | 45.0 | 59.4 | 55.8 |
BLOOM - 3B | 55.1 | 33.6 | 62.1 | 70.5 | 43.2 | 53.9 | 41.6 | 58.2 | 52.3 |
MobileLLM - 1.5B | 67.5 | 40.9 | 65.7 | 74.8 | 46.4 | 64.5 | 50.5 | 64.7 | 59.4 |
🔧 技術細節
MobileLLM集成了多種關鍵技術,包括SwiGLU激活函數、深而窄的架構、嵌入共享和分組查詢注意力。這些技術的集成使得模型在資源受限的設備端應用中能夠高效運行,並在零樣本常識推理任務中取得了出色的性能。
📄 許可證
本模型採用FAIR非商業研究許可證。點擊下方的 “我接受” 或使用或分發研究材料的任何部分或元素,即表示您同意受本協議的約束。
許可權利和再分發
- 權利授予:您被授予在研究材料中體現的Meta知識產權或Meta擁有的其他權利下的非排他性、全球性、不可轉讓和免版稅的有限許可,以使用、複製、分發、拷貝、創建衍生作品並對研究材料進行修改。
- 再分發和使用:
- 您不得將研究材料或研究材料的任何輸出或結果用於任何商業用途或用於非商業研究用途以外的任何用途。
- 研究材料及其任何衍生作品的分發均受本協議條款的約束。如果您將研究材料或其任何衍生作品提供給第三方,則只能根據本協議的條款進行。您還應向該第三方提供本協議的副本。
- 如果您提交使用研究材料進行的研究結果以供發表,則必須在您的出版物中確認使用了研究材料。
- 您對研究材料的使用必須遵守適用的法律和法規(包括貿易管制法律),並遵守FAIR可接受使用政策,該政策特此通過引用併入本協議。
用戶支持
您對研究材料的非商業研究使用由您自行決定;Meta不處理任何信息,也不就此類使用提供任何服務。Meta沒有義務為研究材料提供任何支持服務。提供的任何支持均 “按原樣”、“帶有所有缺陷” 提供,且不提供任何形式的保證。
保修免責聲明
除非適用法律要求,否則研究材料及其任何輸出和結果均 “按原樣” 提供,不提供任何形式的保證,Meta明確否認所有形式的保證,包括但不限於任何所有權、不侵權、適銷性或特定用途適用性的保證。您獨自負責確定使用或再分發研究材料的適當性,並承擔與您使用研究材料及其任何輸出和結果相關的任何風險。
責任限制
無論在何種責任理論下,包括但不限於合同、侵權、疏忽、產品責任或其他方面,Meta或其關聯公司均不對因本協議引起的任何利潤損失或任何直接或間接、特殊、後果性、偶發性、示範性或懲罰性損害承擔責任,即使Meta或其關聯公司已被告知存在此類損害的可能性。
知識產權
- 除Meta對研究材料及其由Meta或代表Meta製作的衍生作品的所有權外,就您製作的研究材料的任何衍生作品和修改而言,在您和Meta之間,您是並將是此類衍生作品和修改的所有者。
- 如果您對Meta或任何實體提起訴訟或其他法律程序(包括在訴訟中的交叉索賠或反訴),聲稱研究材料、輸出或結果或上述任何部分構成侵犯您擁有或可許可的知識產權或其他權利,則本協議授予您的任何許可應自提起此類訴訟或索賠之日起終止。您將賠償並使Meta免受任何第三方因您使用或分發研究材料而產生的或與之相關的任何索賠。
期限和終止
本協議的期限將在您接受本協議或訪問研究材料時開始,並將持續有效,直至根據本協議的條款和條件終止。如果您違反本協議的任何條款或條件,Meta可終止本協議。本協議終止後,您應刪除並停止使用研究材料。第5、6和9條在本協議終止後仍然有效。
適用法律和管轄權
本協議將受加利福尼亞州法律的管轄和解釋,不考慮法律選擇原則,《聯合國國際貨物銷售合同公約》不適用於本協議。加利福尼亞州的法院對因本協議引起的任何爭議具有專屬管轄權。
修改和修訂
Meta可通過在 [https://huggingface.co/facebook/Perception - LM - 8B/blob/main/LICENSE](https://huggingface.co/facebook/Perception - LM - 8B/blob/main/LICENSE) 上發佈修訂版本來不時修改本協議;前提是修訂版本與本協議的當前版本在精神上相似,但在細節上可能有所不同,以解決新的問題或擔憂。所有此類更改將立即生效。在本協議進行任何修改後,您繼續使用研究材料即表示您同意此類修改。除非本協議另有規定,否則對本協議任何條款的修改或補充,除非以書面形式並由您和Meta的授權代表簽署,否則不具有約束力。
可接受使用政策
Meta的基礎人工智能研究(FAIR)團隊旨在通過開放研究推動人工智能的發展,以增進對新的和現有的研究領域的理解,造福所有人。作為這一使命的一部分,Meta提供某些研究材料供非商業研究使用。Meta致力於促進此類研究材料的安全和負責任使用。
禁止使用情況
- 您同意不使用或允許他人使用研究材料來:
- 違反法律或他人權利,包括從事、促進、生成、促成、鼓勵、策劃、煽動或進一步推動非法或違法活動或內容,例如:
- 暴力或恐怖主義
- 對兒童的剝削或傷害,包括招攬、創建、獲取或傳播兒童剝削內容或未報告兒童性虐待材料
- 人口販運、剝削和性暴力
- 向未成年人非法分發信息或材料,包括淫穢材料,或未對此類信息或材料採用法律要求的年齡限制
- 性招攬
- 任何其他犯罪活動
- 從事、促進、煽動或便利對個人或群體的騷擾、虐待、威脅或欺凌
- 從事、促進、煽動或便利在就業、就業福利、信貸、住房、其他經濟利益或其他基本商品和服務的提供方面的歧視或其他非法或有害行為
- 從事未經授權或無執照的任何專業實踐,包括但不限於金融、法律、醫療/健康或相關專業實踐
- 在未獲得適用法律要求的權利和同意的情況下,收集、處理、披露、生成或推斷個人的健康、人口統計或其他敏感個人或私人信息
- 從事或便利任何侵犯、盜用或以其他方式侵犯任何第三方權利的行為或生成任何內容,包括使用FAIR研究材料的任何技術的輸出或結果
- 創建、生成或便利創建惡意代碼、惡意軟件、計算機病毒,或做任何可能禁用、使負擔過重、干擾或損害網站或計算機系統的正常工作、完整性、操作或外觀的事情
- 違反法律或他人權利,包括從事、促進、生成、促成、鼓勵、策劃、煽動或進一步推動非法或違法活動或內容,例如:
- 從事、促進、煽動、便利或協助策劃或開展對個人造成死亡或身體傷害風險的活動,包括使用與以下相關的研究成果:
- 軍事、戰爭、核工業或應用、間諜活動、用於受美國國務院維護的《國際武器貿易條例》(ITAR)管制的材料或活動
- 槍支和非法武器(包括武器開發)
- 非法藥物和受管制/受控物質
- 關鍵基礎設施、運輸技術或重型機械的操作
- 自我傷害或對他人的傷害,包括自殺、自殘和飲食失調
- 任何旨在煽動或促進暴力、虐待或對個人造成身體傷害的內容
- 故意欺騙或誤導他人,包括使用與以下相關的FAIR研究材料:
- 生成、促進或進一步推動欺詐或創建或促進虛假信息
- 生成、促進或進一步推動誹謗性內容,包括創建誹謗性聲明、圖像或其他內容
- 生成、促進或進一步分發垃圾郵件
- 在未經同意、授權或合法權利的情況下冒充他人
- 表示FAIR研究材料的輸出或使用FAIR研究材料的技術的輸出是人類生成的
- 生成或便利虛假的在線互動,包括虛假評論和其他虛假在線互動方式
- 未向最終用戶適當披露研究材料的任何已知危險。
請通過 [https://docs.google.com/forms/d/e/1FAIpQLSeb11cryAopJ7LNrC4nxEUXrHY26hfkXQMf_uH - oFgA3WlYZQ/viewform](https://docs.google.com/forms/d/e/1FAIpQLSeb11cryAopJ7LNrC4nxEUXrHY26hfkXQMf_uH - oFgA3WlYZQ/viewform) 提交報告,舉報任何違反本政策的行為或可能導致違反本政策的其他問題。
致謝
本代碼部分基於HuggingFace的 Transformers 倉庫,該倉庫採用 Apache許可證。
引用
如果您發現我們的代碼對您的研究有用,請考慮引用:
@article{liu2024mobilellm,
title={MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases},
author={Liu, Zechun and Zhao, Changsheng and Iandola, Forrest and Lai, Chen and Tian, Yuandong and Fedorov, Igor and Xiong, Yunyang and Chang, Ernie and Shi, Yangyang and Krishnamoorthi, Raghuraman and others},
journal={arXiv preprint arXiv:2402.14905},
year={2024}
}



