license: apache-2.0
datasets:
- WizardLM/WizardLM_evol_instruct_V2_196k
- icybee/share_gpt_90k_v1
language:
- en
library_name: transformers
pipeline_tag: text-generation
MobiLlama-1B-Chat
我们推出MobiLlama-1.2B-Chat,这是基于MBZUAI/MobiLlama-1B微调的指令跟随模型。
模型概述
"越大越好"是近期大型语言模型(LLMs)发展的主流趋势。然而,LLMs并不适合需要设备端处理、能效高、内存占用低和响应效率高的场景。这些要求对于隐私、安全和可持续部署至关重要。本文通过解决为资源受限设备设计准确而高效的小型语言模型(SLMs)的挑战,探索"少即是多"的范式。我们的主要贡献是引入了一个准确且完全透明的开源5亿(0.5B)参数SLM,命名为MobiLlama,满足资源受限计算的特定需求,强调在减少资源需求的同时提升性能。MobiLlama是一种SLM设计,从更大的模型开始,应用谨慎的参数共享方案,降低预训练和部署成本。我们的工作不仅致力于弥合开源SLMs的差距,还确保完全透明,完整的训练数据管道、训练代码、模型权重以及超过300个检查点连同评估代码均可在我们的Github上获取。
Arxiv论文链接
模型描述
- 模型类型: 基于LLaMA-7B架构设计的小型语言模型(SLM)
- 语言(NLP): 英语
- 许可证: Apache 2.0
- 更多信息资源:
加载MobiLlama-1B-Chat
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("MBZUAI/MobiLlama-1B-Chat", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("MBZUAI/MobiLlama-1B-Chat", trust_remote_code=True)
model.to('cuda')
template= "一段关于好奇人类与人工智能助手之间的对话。助手对人类的问题提供有帮助、详细且有礼貌的回答。\n### 人类: 有什么适合10岁孩子生日的创意点子吗?\n### 助手: 当然!以下是10岁孩子生日派对的一些创意点子:\n1. 寻宝游戏:在后院或附近公园组织寻宝活动。设计线索和谜语让孩子们解决,引导他们找到隐藏的宝藏和惊喜。\n2. 科学派对:策划一个以科学为主题的派对,孩子们可以进行有趣互动的实验。你可以设置不同站点,活动如制作黏液、火山喷发或简单的化学反应。\n3. 户外电影夜:在后院设置投影仪和大屏幕或白布。用毯子和枕头打造舒适的座位区,提供爆米花和零食,孩子们可以在星空下享受喜爱的电影。\n4. DIY手工派对:安排手工派对,让孩子们释放创造力。提供各种手工材料如珠子、颜料和布料,让他们创作自己的独特作品带回家作为派对礼物。\n5. 运动奥运会:举办小型奥运会,包含各种运动和游戏。设置不同站点进行活动如麻袋赛跑、接力赛、篮球投篮和障碍课程。为参与者颁发奖牌或证书。\n6. 烹饪派对:举办烹饪主题派对,孩子们可以制作自己的迷你披萨、纸杯蛋糕或饼干。提供配料、糖霜和装饰用品,让他们在厨房里动手操作。\n7. 超级英雄训练营:创建超级英雄主题派对,孩子们参与有趣的训练活动。设置障碍课程,让他们设计自己的超级英雄斗篷或面具,组织超级英雄主题的游戏和挑战。\n8. 户外探险:在当地公园或自然保护区策划户外探险派对。安排活动如远足、自然寻宝游戏或野餐游戏。鼓励探索和欣赏户外活动。\n记得根据生日孩子的兴趣和偏好调整活动。祝你们有个美好的庆祝活动!\n### 人类: {prompt}\n### 助手:"
prompt = "练习正念冥想有哪些主要好处?"
input_str = template.format(prompt=prompt)
input_ids = tokenizer(input_str, return_tensors="pt").to('cuda').input_ids
outputs = model.generate(input_ids, max_length=1000, pad_token_id=tokenizer.eos_token_id)
print(tokenizer.batch_decode(outputs[:, input_ids.shape[1]:-1])[0].strip())
或者,您可以使用FastChat:
python3 -m fastchat.serve.cli --model-path MBZUAI/MobiLlama-1B-Chat
MobiLlama-1B-Chat微调详情
数据混合
子集 |
行数 |
许可证 |
WizardLM/WizardLM_evol_instruct_V2_196k |
143k |
|
icybee/share_gpt_90k_v1 |
90k |
cc0-1.0 |
总计 |
233k |
|
超参数
超参数 |
值 |
总参数 |
1.2B |
隐藏层大小 |
2048 |
中间层大小(MLPs) |
5632 |
注意力头数 |
32 |
隐藏层数 |
22 |
RMSNorm ɛ |
1e^-5 |
最大序列长度 |
2048 |
词汇量 |
32000 |
训练超参数 |
值 |
学习率 |
2e-5 |
训练轮数 |
3 |
每设备训练批量大小 |
2 |
梯度累积步数 |
16 |
预热比例 |
0.04 |
模型最大长度 |
2048 |