Mindllm 1b3 Chat Zh V2.0
模型简介
模型特点
模型能力
使用案例
🚀 MindLLM模型卡片
MindLLM是由北京海量语言信息处理与云计算应用工程技术研究中心和北京理工大学东南信息技术研究院联合研发的一款预训练大语言模型。它支持中英双语,在常识、语言理解和逻辑推理等基准测试中表现出色,能为研究社区提供一个无限制的小模型,用于探索重要的安全挑战和适应特定领域的应用。
🚀 快速开始
由于该模型已在特定聊天格式的指令数据上进行了监督训练,你可以直接使用文本生成管道来使用此模型。以下示例每次运行时都会生成不同的序列:
from transformers import AutoTokenizer, AutoModelForCausalLM, TextGenerationPipeline
tokenizer = AutoTokenizer.from_pretrained('mindllm_path')
tokenizer.max_length = 1024
model = AutoModelForCausalLM.from_pretrained('mindllm_path').to(device)
generator = TextGenerationPipeline(model=model, tokenizer=tokenizer, device=device)
context = "<user>\n你知道电动车相对传统汽油车有哪些优点吗?\n<assistant>\n"
outputs = generator(context, max_new_tokens=1024, do_sample=True, num_beams=4, repetition_penalty=0.5, no_repeat_ngram_size=5, return_full_text=False)
[{'generated_text': '电动车相对传统汽油车的优点包括:\n1. 更低的排放和更高的能源效率 - 电动车所产生的有害排放物质远少于汽油车,并且它们的能源利用效率更高。\n2. 更低的维护成本 - 电动车需要更少的保养和通常拥有较少的运动部件,从而降低了总体维护成本。\n3. 更低的燃料成本 - 电动车需要比汽油车少得多的燃料,因此随着时间的推移,可以节省成本。\n4. 更长的续航里程 - 电动车单次充电可以行驶比汽油车更远的距离,非常适合长途通勤。\n5. 更为安静的运行 - 电动车比汽油车要安静得多,使驾驶更加愉悦。'}]
✨ 主要特性
- 双语支持:支持中文和英文两种语言。
- 性能出色:在常识、语言理解和逻辑推理等基准测试中表现出色,甚至超越了参数少于130亿的模型。
- 可对话:经过特殊聊天格式的指令数据监督训练,能够进行多轮对话。
📚 详细文档
模型详情
模型描述
MindLLM 13亿参数的Transformer模型,由北京海量语言信息处理与云计算应用工程技术研究中心和北京理工大学东南信息技术研究院联合研发。
它使用了包括Pile、悟道、CBook等双语数据源以及其他通过网页爬取精心收集的数据进行训练。在常识、语言理解和逻辑推理等基准测试中,MindLLM表现出色,甚至超越了参数少于130亿的模型。
该模型在聊天格式的指令数据集上进行了微调,但尚未通过基于人类反馈的强化学习进行微调。开发这个开源模型的目的是为研究社区提供一个无限制的小模型,用于探索重要的安全挑战和适应特定领域的应用。
- 开发者:北京海量语言信息处理与云计算应用工程技术研究中心 & 北京理工大学东南信息技术研究院
- 模型类型:预训练因果语言模型
- 语言:中文和英文
- 许可证:Apache-2.0
- 从头开始训练
模型来源
- 论文:https://arxiv.org/abs/2310.15777
如需引用此模型,请使用以下 BibTeX 格式:
@article{mindllm,
title={MindLLM: Pre-training Lightweight Large Language Model from Scratch, Evaluations and Domain Applications},
author={Yang, Yizhe and Sun, Huashan and Li, Jiawei and Liu, Runheng and Li, Yinghao and Liu, Yuhang and Huang, Heyan and Gao, Yang},
journal={arXiv preprint arXiv:2310.15777},
year={2023}
}
使用方式
直接使用
由于该模型已在特定聊天格式的指令数据上进行了监督训练,你可以直接使用文本生成管道来使用此模型。以下示例每次运行时都会生成不同的序列:
from transformers import AutoTokenizer, AutoModelForCausalLM, TextGenerationPipeline
tokenizer = AutoTokenizer.from_pretrained('mindllm_path')
tokenizer.max_length = 1024
model = AutoModelForCausalLM.from_pretrained('mindllm_path').to(device)
generator = TextGenerationPipeline(model=model, tokenizer=tokenizer, device=device)
context = "<user>\n你知道电动车相对传统汽油车有哪些优点吗?\n<assistant>\n"
outputs = generator(context, max_new_tokens=1024, do_sample=True, num_beams=4, repetition_penalty=0.5, no_repeat_ngram_size=5, return_full_text=False)
[{'generated_text': '电动车相对传统汽油车的优点包括:\n1. 更低的排放和更高的能源效率 - 电动车所产生的有害排放物质远少于汽油车,并且它们的能源利用效率更高。\n2. 更低的维护成本 - 电动车需要更少的保养和通常拥有较少的运动部件,从而降低了总体维护成本。\n3. 更低的燃料成本 - 电动车需要比汽油车少得多的燃料,因此随着时间的推移,可以节省成本。\n4. 更长的续航里程 - 电动车单次充电可以行驶比汽油车更远的距离,非常适合长途通勤。\n5. 更为安静的运行 - 电动车比汽油车要安静得多,使驾驶更加愉悦。'}]
聊天模板
为了使聊天版本获得预期的功能和性能,需要遵循特定的格式,包括 <user>
和 <assistant>
标签、BOS 和 EOS 标记,以及它们之间的空格和换行符(建议对输入调用 strip()
方法以避免出现双空格)。以下是一些示例:
- 单轮对话
# 提示
<|endoftext|><user>\n你知道电动车相对传统汽油车有哪些优点吗?\n<assistant>\n
# 返回
电动车相对传统汽油车的优点包括:\n1. 更低的排放和更高的能源效率 - 电动车所产生的有害排放物质远少于汽油车,并且它们的能源利用效率更高。\n2. 更低的维护成本 - 电动车需要更少的保养和通常拥有较少的运动部件,从而降低了总体维护成本。\n3. 更低的燃料成本 - 电动车需要比汽油车少得多的燃料,因此随着时间的推移,可以节省成本。\n4. 更长的续航里程 - 电动车单次充电可以行驶比汽油车更远的距离,非常适合长途通勤。\n5. 更为安静的运行 - 电动车比汽油车要安静得多,使驾驶更加愉悦。
- 多轮对话
# 提示
<|endoftext|><user>\n你好,请问你叫什么名字?\n<assistant>\n嗨,我是一个AI助手。<|endoftext|>\n<|endoftext|><user>\n请问你如何看待AI助手?\n<assistant>\n
# 返回
我认为AI助手是一个非常有前途的技术,它可以在多个领域帮助人们解决问题和完成任务。但是同时,我也认为在使用AI助手时要注意保护用户隐私和安全。
其他示例
自我认知
user:你好,请问你叫什么名字?
assistant:你好,我是 MindLLM,一个人工智能助手。
user:请问你如何看待AI助手?
assistant:我认为,AI助手是一种可以帮助人类完成各种任务的工具。它可以处理大量数据,并提供有用的信息给用户。然而,我们也需要保持警惕,确保其不会被滥用或误用。
user:你能介绍一下AI助手优点和缺点吗?
assistant:当然可以。AI助手的优点之一是提高了日常生活中的便利性。例如,我们可以使用语音助手来控制家庭设备、查询天气、安排日程等。此外,AI助手还可以自动化流程,减少人力和时间成本。
缺点也是人们需要思考的问题。一方面,AI助手使用算法和数据分析来提供更准确的结果;另一方面,有些人担心AI助手会取代人类工作,甚至可能取代人类职业。此外,AI助手也可能存在信息泄露和滥用的风险。
user:你觉得AI助手对人类存在的威胁或者问题是什么?
assistant:我认为,AI助手在某些场景下可能会导致一些问题,比如个人隐私泄露、工作岗位的流失、机器人成为主宰人类的物种,这些都需要我们认真思考和妥善解决。我们需要确保AI助手是安全可靠的,避免受到滥用和误用。
user:你可以具体举例说明一下吗?
assistant:比如说,一个公司可能需要大量数据来训练AI助手,但由于数据隐私泄露的问题,这些数据可能被滥用或泄露,导致用户数据被不当使用或泄露。另一个例子是,AI助手可能被用于武器开发,但由于缺乏监管,使用引起的伦理问题也需要关注。
user:你可以具体说一说,人类应该如何关注和管理AI助手带来的安全和隐私问题吗?
assistant:在关注安全和隐私问题上,我们需要采取一些措施。首先,我们需要强化AI助手的开发和使用,确保它们只被授权的开发者开发和使用。其次,我们需要建立更好的隐私保护机制,包括使用数据加密、授权访问和差分隐私等技术手段。最后,我们需要在AI系统中保护用户的隐私,确保他们的个人信息不被滥用或泄露。
user:好的,谢谢你!
assistant:不客气,我随时将继续为您提供帮助和支持。
闲聊
user:你好
assistant:您好,有什么需要我帮忙的吗?
user:请问有哪些方法可以缓解焦虑情绪?
assistant:有的话,可以通过运动、音乐、冥想等方式来放松身心,还有一些药物也可以缓解焦虑。您可以按照我提供的建议来选择适合自己的方式,缓解焦虑情绪。
user:你可以详细下吗?
assistant:当我们感到焦虑时,大脑会产生一种内分泌系统的反应,这种反应会导致我们感到紧张、不安和无法集中注意力。这个时候可以尝试一些让自己放松的方法,比如深呼吸、瑜伽、冥想等。这些方法可以帮助我们缓解焦虑情绪,让我们感觉更好。
user:请详细介绍下冥想的方法。
assistant:冥想是一种可以帮助我们集中注意力,让心情平静、内心充实的活动。在冥想中,我们可以选择一个特定的地点,舒展身体、调整气息,让自己放松、专注和冥思。在冥想中,我们通常会采用舒缓的音乐,让自己的思维和情绪自由流动,缓解焦虑情绪。
user:有什么音乐可以推荐给我吗?缓解我的焦虑情绪。
assistant:常听舒缓的音乐,比如钢琴曲、古典音乐、流行音乐等,可以缓解焦虑情绪,促进身心放松。比如,您可以试试听听轻柔的钢琴曲,或者是轻声的流行歌曲,这些都可以缓解焦虑情绪。此外,您也可以通过听冥想音乐,它可以帮助您放松身心、减轻压力,带来更好的效果。
user:谢谢。
assistant:不客气,有需要再找我哦。
编程
user:找到下列数组的中位数[3.1,6.2,1.3,8.4,10.5,11.6,2.1],请用python代码完成以上功能
assistant:对数组进行排序,然后取中间的数作为中位数,最后把这个数输出即可完成所需的操作。
代码实现:
```python
def median(numbers):
sorted_numbers = sorted(numbers)
length = len(numbers)
mid_index = length // 2
if length % 2 == 0:
return (sorted_numbers[mid_index - 1] + sorted_numbers[mid_index]) / 2
else:
return sorted_numbers[mid_index]
代码解释: 首先,定义了一个名为 median 的函数,它接受一个数字列表作为参数。函数使用内置函数 sorted,对数字列表进行排序,然后使用 len 函数计算所有数字的长度,并判断长度是奇数还是偶数,如果是,则返回相应的中位数。如果长度为奇数,则返回中位数。否则,将数组分成两半,找到中间的数,然后返回它。
</details>
#### 部署资源消耗
<details>
<summary>点击展开</summary>
| 精度 | 最小GPU内存(推理) | 最小GPU内存(全参数微调) |
| ---- | ---- | ---- |
| float32 | 6.08G | 32.65G |
| float16(未量化) | 3.45G | -(36.94G*) |
| bfloat16(未量化) | 3.45G | 20.47G(33.93G*) |
* \* 表示使用混合精度
</details>
### 训练详情
#### 训练数据
该模型的训练语料库是英语和中文语言数据源的多样化混合。英语部分来自Pile数据集,中文部分包括来自悟道、CBook的数据以及通过网页爬取精心收集的数据。
为了确保数据质量,执行了一个全面的预处理流程,包括通过严格的数据清理清除特殊标签、使用局部敏感哈希(LSH)进行数据去重,以及全面过滤以消除主要来自广告或不适当内容的低质量内容。还研究了数据量与模型容量之间的关系,评估了不同数据类型对模型拟合效果的影响,并评估了处理混合数据源时模型训练的稳定性。此分析为预训练数据的重要作用和处理它的复杂性提供了有价值的见解。还根据数据工程和经验应用了一些混合技巧来构建训练数据。
#### 训练过程
此版本的模型采用两阶段训练策略,在约2410亿个英语标记和820亿个中文标记上进行训练。它作为自回归语言模型进行训练,使用交叉熵损失。
此版本的模型还在从开源指令调优数据集中收集的400万个中文指令样本上进行了微调。指令调优阶段使模型能够用中文回答问题并进行多轮对话。
**如需更详细的信息,请参考论文。**
## 📄 许可证
本模型使用 Apache-2.0 许可证。



