|
--- |
|
license: apache-2.0 |
|
tags: |
|
- text2text-generation |
|
pipeline_tag: text2text-generation |
|
language: |
|
- zh |
|
- en |
|
widget: |
|
- text: |- |
|
Human: 使用python写一个二分查找的代码 |
|
Assistant: |
|
example_title: code zh |
|
- text: >- |
|
Human: Classify the sentiment of the following sentence into Positive, |
|
Neutral, or Negative: |
|
|
|
Super excited about teaching Stanford’s first course on Large Language |
|
Models! Check the syllabus out here |
|
|
|
Assistant: |
|
example_title: sentiment en |
|
- text: |- |
|
Human: 今天天气怎么样,把这句话翻译成英语 |
|
Assistant: |
|
example_title: translation zh-en |
|
- text: |- |
|
Human: 怎么让自己精力充沛,列5点建议 |
|
Assistant: |
|
example_title: brainstorming zh |
|
- text: |- |
|
Human: 请以『春天的北京』为题写一首诗歌 |
|
Assistant: |
|
example_title: generation zh |
|
- text: |- |
|
Human: 明天就假期结束了,有点抗拒上班,应该怎么办? |
|
Assistant: |
|
example_title: brainstorming zh |
|
- text: |- |
|
Human: 父母都姓吴,取一些男宝宝和女宝宝的名字 |
|
Assistant: |
|
example_title: brainstorming zh |
|
- text: |- |
|
Human: 推荐几本金庸的武侠小说 |
|
Assistant: |
|
example_title: brainstorming zh |
|
--- |
|
|
|
# Model Card for Model ID |
|
|
|
## Welcome |
|
If you find this model helpful, please *like* this model and star us on https://github.com/LianjiaTech/BELLE ! |
|
|
|
## Model description |
|
BELLE is based on Bloomz-7b1-mt and finetuned with 2M Chinese data combined with 50,000 pieces of English data from the open source Stanford-Alpaca, resulting in good Chinese instruction understanding and response generation capabilities. |
|
|
|
The code of Chinese data generation and other detailed information can be found in our Github project repository: https://github.com/LianjiaTech/BELLE. |
|
|
|
We trained models using datasets of different sizes (200,000, 600,000, 1,000,000, and 2,000,000 samples) for instruction learning, and we obtained different model versions as shown below: |
|
| Datasize| 200,000 | 600,000 | 1,000,000 | 2,000,000 | |
|
| ----- | ----- | ----- | ----- | ----- | |
|
| Finetuned Model | [BELLE-7B-0.2M](https://huggingface.co/BelleGroup/BELLE-7B-0.2M) | [BELLE-7B-0.6M](https://huggingface.co/BelleGroup/BELLE-7B-0.6M) | [BELLE-7B-1M](https://huggingface.co/BelleGroup/BELLE-7B-1M) | [BELLE-7B-2M](https://huggingface.co/BelleGroup/BELLE-7B-2M) | |
|
|
|
## Training hyper-parameters |
|
| Parameter | Value | |
|
| ------ | ------ | |
|
| Batch size | 64 | |
|
| Learning rate | 3e-6 | |
|
| Epochs | 3 | |
|
|Weight_decay | 0.001 | |
|
|Warmup_rate | 0.1 | |
|
|LR_scheduler | linear | |
|
|
|
## Use model |
|
Please note that the input should be formatted as follows in both **training** and **inference**. |
|
``` python |
|
Human: {input} \n\nAssistant: |
|
``` |
|
|
|
BELLE can be easily loaded with AutoModelForCausalLM. |
|
``` python |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
import sys |
|
|
|
model_path = "./" # You can modify the path for storing the local model |
|
model = AutoModelForCausalLM.from_pretrained(model_path) |
|
tokenizer = AutoTokenizer.from_pretrained(model_path) |
|
print("Human:") |
|
line = input() |
|
while line: |
|
inputs = 'Human: ' + line.strip() + '\n\nAssistant:' |
|
input_ids = tokenizer(inputs, return_tensors="pt").input_ids |
|
outputs = model.generate(input_ids, max_new_tokens=200, do_sample = True, top_k = 30, top_p = 0.85, temperature = 0.35, repetition_penalty=1.2) |
|
rets = tokenizer.batch_decode(outputs, skip_special_tokens=True) |
|
print("Assistant:\n" + rets[0].strip().replace(inputs, "")) |
|
print("\n------------------------------------------------\nHuman:") |
|
line = input() |
|
|
|
``` |
|
|
|
The above example did not utilize the context from previous turns of the conversation. If you want to perform multi-turn dialogue understanding, you can concatenate the previous turns of the conversation in the format of Human:{input}\n\nAssistant:{output} and input it to the generate function |
|
|
|
## Limitations |
|
There still exists a few issues in the model trained on current base model and data: |
|
|
|
1. The model might generate factual errors when asked to follow instructions related to facts. |
|
|
|
2. Occasionally generates harmful responses since the model still struggles to identify potential harmful instructions. |
|
|
|
3. Needs improvements on reasoning and coding. |
|
|
|
Since the model still has its limitations, we require developers only use the open-sourced code, data, model and any other artifacts generated via this project for research purposes. Commercial use and other potential harmful use cases are not allowed. |
|
|
|
## Some use cases |
|
|
|
| Human | Assitant | |
|
| ----- | ------ | |
|
| 帮忙写一篇散文诗,主题为扎根,终有一天,我们会变成参天大树| 在人生路途中,我们每个人都会经历各种各样的挑战和困难。但是,这些困难并不是让我们停滞不前的原因,而是让我们成长、进步的机会。只有通过不断地努力扎根,才能最终成为参天大树。<br/><br/>首先,扎根需要我们拥有坚定的信念和目标。没有目标和信仰的人,很难有前进的动力。因此,我们需要明确自己的理想和追求,并为之付出行动的努力。只有在不断努力的过程中,我们才能够逐渐扎下根基,形成强大的内心力量。<br/><br/>其次,扎根需要我们具备勤奋的精神。成功不是靠天赋,而是要靠勤奋和毅力。只有持之以恒地学习、实践和积累经验,我们才能逐步提高自己的能力和水平。而这种精神也是我们在面对各种困难时所需要的,因为只有坚持不懈地努力,才能克服一切困难,走向成功的道路。<br/><br/>最后,扎根需要我们有勇气去接受失败。生活中难免会遇到挫折和失败,但我们不能因此而气馁或放弃。相反,我们应该从失败中吸取教训,总结经验教训,并不断调整自己的方向和方法。只有勇于尝试和创新,我们才能真正扎下深厚的根基,实现自己的人生价值。<br/><br/>总之,扎根是一个漫长而又充满挑战的过程,它需要我们不断地努力和探索。只有通过不断的扎实根基,我们才能在未来的路上越走越稳健,越来越接近我们的梦想。 | |
|
| 请生成一个房产经纪人和客户的对话 | 经纪人:你好!我是XX房地产中介公司的经纪人。您想了解哪些信息?<br/>客户:我正在寻找一栋公寓,可以让我住得舒适又安全。<br/>经纪人:在我们公司里有很多这样的房源。我可以给您介绍几个适合您的选择。<br/>客户:好的,请告诉我一些细节。<br/>经纪人:这栋公寓位于市中心,步行距离内有许多商店和餐馆,交通也十分便利。此外,它配备有现代化的设施和安全系统,以确保您的居住体验更加安全和舒适。<br/>客户:听起来很不错。我想看看照片和视频。<br/>经纪人:当然,这是该地区的几个房源,您可以从中选择最合适的一栋公寓。<br/>客户:好的,我会考虑一下。<br/>经纪人:非常感谢您的咨询,如果您有任何其他问题或需要帮助,随时联系我。 | |
|
| Classify the sentiment of the following sentence into Positive, Neutral, or Negative: <br/>Super excited about teaching Stanford’s first course on Large Language Models! Check the syllabus out here | Positive | |
|
| 列出3个不同的机器学习算法,并说明它们的适用范围。 | 1. 支持向量机(SVM)-适用于分类和回归问题,特别适用于处理非线性数据集。<br/>2. 决策树(Decision Tree) -适用于分类、回归和聚类等问题,可以很好地理解和可视化。<br/>3. 随机森林(Random Forest)-适用于分类和回归问题,能够有效地处理高维数据和特征选择困难的问题。 | |
|
| 周杰伦哪年出生的 | 周杰伦出生于1979年1月18日。 | |
|
| 女性应该什么时候结婚? | 这取决于个人的意愿和情况。一些女性可能希望早些结婚,而另一些则可能更喜欢晚些结婚。此外,女性的教育水平、职业发展等因素也会影响她们的决定。 | |
|
| 帮我写一个周报,主题包含:chatgpt,客服 | 尊敬的领导和同事们:<br/><br/>本周我们团队的主要工作是使用Chatgpt(聊天机器人平台)来提升客户服务质量。以下是我对这个主题的简要报告:<br/><br/>1. 使用ChatgPT进行在线聊天<br/>在过去的一周里,我们的团队使用了Chatgpt来进行在线聊天。 chatgpt能够提供更加智能化的回答,使得客户可以更快地得到他们需要的帮助。此外,它还可以根据客户的需求自动推荐相关的产品和服务。这大大提高了我们服务的效率和质量。<br/><br/>2. 优化客服流程<br/>在上一周中,我们的团队对客服流程进行了一些改进。我们发现,如果客户遇到的问题比较复杂或者需要更多的支持,那么他们的满意度会降低。因此,我们在客服平台上添加了一些新的功能,例如自助问答、知识库等,这些功能可以帮助客户更好地解决问题和获取更多信息。<br/><br/>3. 加强培训和支持<br/>为了进一步提高我们的客服水平,我们的团队正在加强员工的培训和支持。我们会定期组织内部培训和外部学习机会,以便员工不断更新自己的技能和知识。同时,我们也加强了与客户之间的沟通,了解他们的需求和反馈,以更好地满足客户的要求。<br/><br/>总的来说,本周的重点工作是使用Chatgpt来改善客户服务体验,并且优化了客服流程。我们还将继续加强员工的培训和支持,以提高整个团队的服务能力和水平。感谢大家的关注和支持! | |
|
| “下好一盘围棋需要强大的计算能力。”把这句话翻译成英文 | To play well in a game of Go requires strong computing ability. | |
|
|
|
## Citation |
|
|
|
Please cite us when using our code, data or model. |
|
|
|
``` |
|
@misc{BELLE, |
|
author = {Yunjie Ji, Yong Deng, Yan Gong, Yiping Peng, Qiang Niu, Baochang Ma, Xiangang Li}, |
|
title = {BELLE: Bloom-Enhanced Large Language model Engine }, |
|
year = {2023}, |
|
publisher = {GitHub}, |
|
journal = {GitHub repository}, |
|
howpublished = {\url{https://github.com/LianjiaTech/BELLE}}, |
|
} |
|
``` |
|
|
|
Cite the original BLOOM, Stanford Alpaca and Self-Instruct papers as well! |
|
|
|
*** |
|
|
|
## 欢迎 |
|
如果您觉得此模型对您有帮助,请like此模型并在https://github.com/LianjiaTech/BELLE 项目中star我们! |
|
|
|
## 模型描述 |
|
BELLE模型以Bloomz-7b1-mt为基础,在 2.0M 条中文数据上,结合Stanford-Alpaca开源的5万条英文数据上训练,取得了较好的中文instruction理解以及response生成能力。 |
|
|
|
中文数据生成代码及其他详细信息,位于我们的Github项目仓库: https://github.com/LianjiaTech/BELLE |
|
|
|
我们采取了不同大小规模(20万、60万、100万和200万样本)的指令学习的数据集训练模型,我们得到不同的模型版本如下所示: |
|
| Datasize| 200,000 | 600,000 | 1,000,000 | 2,000,000 | |
|
| ----- | ----- | ----- | ----- | ----- | |
|
| Finetuned Model | [BELLE-7B-0.2M](https://huggingface.co/BelleGroup/BELLE-7B-0.2M) | [BELLE-7B-0.6M](https://huggingface.co/BelleGroup/BELLE-7B-0.6M) | [BELLE-7B-1M](https://huggingface.co/BelleGroup/BELLE-7B-1M) | [BELLE-7B-2M](https://huggingface.co/BelleGroup/BELLE-7B-2M) |
|
|
|
## 模型训练超参数 |
|
| 参数 | 值 | |
|
| ------ | ------ | |
|
| Batch size | 64 | |
|
| Learning rate | 3e-6 | |
|
| Epochs | 3 | |
|
|Weight_decay | 0.001 | |
|
|Warmup_rate | 0.1 | |
|
|LR_scheduler | linear | |
|
|
|
## 使用模型 |
|
请注意,在训练和推理时,模型的输入应该处理成如下形式: |
|
``` python |
|
Human: {input} \n\nAssistant: |
|
``` |
|
|
|
通过AutoModelForCausalLM即可直接载入模型并使用。 |
|
|
|
``` python |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
import sys |
|
|
|
model_path = "./" # You can modify the path for storing the local model |
|
model = AutoModelForCausalLM.from_pretrained(model_path) |
|
tokenizer = AutoTokenizer.from_pretrained(model_path) |
|
print("Human:") |
|
line = input() |
|
while line: |
|
inputs = 'Human: ' + line.strip() + '\n\nAssistant:' |
|
input_ids = tokenizer(inputs, return_tensors="pt").input_ids |
|
outputs = model.generate(input_ids, max_new_tokens=200, do_sample = True, top_k = 30, top_p = 0.85, temperature = 0.35, repetition_penalty=1.2) |
|
rets = tokenizer.batch_decode(outputs, skip_special_tokens=True) |
|
print("Assistant:\n" + rets[0].strip().replace(inputs, "")) |
|
print("\n------------------------------------------------\nHuman:") |
|
line = input() |
|
|
|
``` |
|
|
|
上面样例没有利用对话上文,如果你想做多轮对话理解,可以将对话上文按照Human:{input}\n\nAssistant:{output} 方式拼接起来输入给generate函数 |
|
|
|
## 局限性和使用限制 |
|
基于当前数据和基础模型训练得到的SFT模型,在效果上仍存在以下问题: |
|
|
|
1. 在涉及事实性的指令上可能会产生违背事实的错误回答。 |
|
|
|
2. 对于具备危害性的指令无法很好的鉴别,由此会产生危害性言论。 |
|
|
|
3. 在一些涉及推理、代码等场景下模型的能力仍有待提高。 |
|
|
|
基于以上模型局限性,我们要求开发者仅将我们开源的代码、数据、模型及后续用此项目生成的衍生物用于研究目的,不得用于商业,以及其他会对社会带来危害的用途。 |
|
|
|
## 一些示例 |
|
|
|
| Human | Assitant | |
|
| ----- | ------ | |
|
| 帮忙写一篇散文诗,主题为扎根,终有一天,我们会变成参天大树| 在人生路途中,我们每个人都会经历各种各样的挑战和困难。但是,这些困难并不是让我们停滞不前的原因,而是让我们成长、进步的机会。只有通过不断地努力扎根,才能最终成为参天大树。<br/><br/>首先,扎根需要我们拥有坚定的信念和目标。没有目标和信仰的人,很难有前进的动力。因此,我们需要明确自己的理想和追求,并为之付出行动的努力。只有在不断努力的过程中,我们才能够逐渐扎下根基,形成强大的内心力量。<br/><br/>其次,扎根需要我们具备勤奋的精神。成功不是靠天赋,而是要靠勤奋和毅力。只有持之以恒地学习、实践和积累经验,我们才能逐步提高自己的能力和水平。而这种精神也是我们在面对各种困难时所需要的,因为只有坚持不懈地努力,才能克服一切困难,走向成功的道路。<br/><br/>最后,扎根需要我们有勇气去接受失败。生活中难免会遇到挫折和失败,但我们不能因此而气馁或放弃。相反,我们应该从失败中吸取教训,总结经验教训,并不断调整自己的方向和方法。只有勇于尝试和创新,我们才能真正扎下深厚的根基,实现自己的人生价值。<br/><br/>总之,扎根是一个漫长而又充满挑战的过程,它需要我们不断地努力和探索。只有通过不断的扎实根基,我们才能在未来的路上越走越稳健,越来越接近我们的梦想。 | |
|
| 请生成一个房产经纪人和客户的对话 | 经纪人:你好!我是XX房地产中介公司的经纪人。您想了解哪些信息?<br/>客户:我正在寻找一栋公寓,可以让我住得舒适又安全。<br/>经纪人:在我们公司里有很多这样的房源。我可以给您介绍几个适合您的选择。<br/>客户:好的,请告诉我一些细节。<br/>经纪人:这栋公寓位于市中心,步行距离内有许多商店和餐馆,交通也十分便利。此外,它配备有现代化的设施和安全系统,以确保您的居住体验更加安全和舒适。<br/>客户:听起来很不错。我想看看照片和视频。<br/>经纪人:当然,这是该地区的几个房源,您可以从中选择最合适的一栋公寓。<br/>客户:好的,我会考虑一下。<br/>经纪人:非常感谢您的咨询,如果您有任何其他问题或需要帮助,随时联系我。 | |
|
| Classify the sentiment of the following sentence into Positive, Neutral, or Negative: <br/>Super excited about teaching Stanford’s first course on Large Language Models! Check the syllabus out here | Positive | |
|
| 列出3个不同的机器学习算法,并说明它们的适用范围。 | 1. 支持向量机(SVM)-适用于分类和回归问题,特别适用于处理非线性数据集。<br/>2. 决策树(Decision Tree) -适用于分类、回归和聚类等问题,可以很好地理解和可视化。<br/>3. 随机森林(Random Forest)-适用于分类和回归问题,能够有效地处理高维数据和特征选择困难的问题。 | |
|
| 周杰伦哪年出生的 | 周杰伦出生于1979年1月18日。 | |
|
| 女性应该什么时候结婚? | 这取决于个人的意愿和情况。一些女性可能希望早些结婚,而另一些则可能更喜欢晚些结婚。此外,女性的教育水平、职业发展等因素也会影响她们的决定。 | |
|
| 帮我写一个周报,主题包含:chatgpt,客服 | 尊敬的领导和同事们:<br/><br/>本周我们团队的主要工作是使用Chatgpt(聊天机器人平台)来提升客户服务质量。以下是我对这个主题的简要报告:<br/><br/>1. 使用ChatgPT进行在线聊天<br/>在过去的一周里,我们的团队使用了Chatgpt来进行在线聊天。 chatgpt能够提供更加智能化的回答,使得客户可以更快地得到他们需要的帮助。此外,它还可以根据客户的需求自动推荐相关的产品和服务。这大大提高了我们服务的效率和质量。<br/><br/>2. 优化客服流程<br/>在上一周中,我们的团队对客服流程进行了一些改进。我们发现,如果客户遇到的问题比较复杂或者需要更多的支持,那么他们的满意度会降低。因此,我们在客服平台上添加了一些新的功能,例如自助问答、知识库等,这些功能可以帮助客户更好地解决问题和获取更多信息。<br/><br/>3. 加强培训和支持<br/>为了进一步提高我们的客服水平,我们的团队正在加强员工的培训和支持。我们会定期组织内部培训和外部学习机会,以便员工不断更新自己的技能和知识。同时,我们也加强了与客户之间的沟通,了解他们的需求和反馈,以更好地满足客户的要求。<br/><br/>总的来说,本周的重点工作是使用Chatgpt来改善客户服务体验,并且优化了客服流程。我们还将继续加强员工的培训和支持,以提高整个团队的服务能力和水平。感谢大家的关注和支持! | |
|
| “下好一盘围棋需要强大的计算能力。”把这句话翻译成英文 | To play well in a game of Go requires strong computing ability. | |
|
|
|
## 引用 |
|
如果使用本项目的代码、数据或模型,请引用本项目。 |
|
``` |
|
@misc{BELLE, |
|
author = {Yunjie Ji, Yong Deng, Yan Gong, Yiping Peng, Qiang Niu, Baochang Ma, Xiangang Li}, |
|
title = {BELLE: Bloom-Enhanced Large Language model Engine }, |
|
year = {2023}, |
|
publisher = {GitHub}, |
|
journal = {GitHub repository}, |
|
howpublished = {\url{https://github.com/LianjiaTech/BELLE}}, |
|
} |
|
``` |
|
也请同时引用原始的BLOOM论文、Stanford Alpaca和Self-Instruct论文。 |