赞
踩
LLMs之Yi-6B:Yi-6B的简介、安装、使用方法之详细攻略
导读:2023年11月02日,Yi系列模型是由01.AI的开发人员从头开始训练的大型语言模型。Yi系列模型的第一个公开版本包含两个双语(英文/中文)基础模型,参数大小分别为6B和34B。这两个模型都是使用4K序列长度进行训练的,并且在推理时可以扩展到32K。Yi-6B模型在多个任务上表现良好,包括MMLU、CMMLU、C-Eval、GAOKAO、BBH、Common-sense Reasoning、Reading Comprehension和Math & Code等。
目录
2023年11月02日,零一万物发布首款开源大模型Yi-6B 和 Yi-34B。Yi 系列模型是由 01.AI 的开发人员从零开始训练的大型语言模型。第一个公开发布的版本包括两个双语(英语/中文)基础模型,参数规模分别为 6B 和 34B。它们都是使用 4K 序列长度进行训练的,且在推理时可以扩展到32K。
GitHub地址:https://github.com/01-ai/Yi
HuggingFace地址:https://huggingface.co/01-ai/Yi-6B
在对开源模型进行基准测试时,我们观察到我们的管道生成的结果与公开来源(例如 OpenCompass)中报告的结果之间存在差异。在对这种差异进行更深入的调查后,我们发现各种模型可能采用不同的提示、后处理策略和抽样技术,可能导致结果差异显著。我们的提示和后处理策略与原始基准保持一致,评估过程中使用贪婪解码,不对生成的内容进行任何后处理。对于原始作者没有报告的分数(包括使用不同设置报告的分数),我们尝试使用我们的管道获取结果。
为了全面评估模型的能力,我们采用了 Llama2 中提到的方法。具体来说,我们包括了 PIQA、SIQA、HellaSwag、WinoGrande、ARC、OBQA 和 CSQA 来评估常识推理能力。
我们还使用 SquAD、QuAC 和 BoolQ 来评估阅读理解能力。CSQA 专门使用了 7 次抽样设置进行测试,而所有其他测试都使用了 0 次抽样配置。此外,我们在“数学与代码”类别下引入了 GSM8K(8-shot@1)、MATH(4-shot@1)、HumanEval(0-shot@1)和 MBPP(3-shot@1)。由于技术限制,我们没有在 QuAC 和 OBQA 上测试 Falcon-180;分数是通过平均计算在其余任务上的分数得出的。由于这两个任务的分数通常低于平均分,我们认为 Falcon-180B 的性能没有被低估。
尽管我们在训练过程中使用数据合规性检查算法来确保经过训练的模型在最大程度上符合规定,但由于数据的复杂性和语言模型使用场景的多样性,我们无法保证模型在所有场景中生成正确和合理的输出。请注意,模型仍然存在产生问题输出的风险。对于因滥用、误导、非法使用和相关错误信息导致的任何风险和问题,我们将不负责任。
镜像安装 | 尝试 Yi 系列模型的最佳方法是使用带有 GPU 的 Docker。我们提供以下 Docker 镜像,以帮助您入门。 请注意,最新的标签始终指向主分支中的最新代码。要测试稳定版本,请将其替换为特定的标签。 |
本地安装 | 如果您喜欢在本地开发环境中尝试,首先创建一个虚拟环境并克隆此存储库。然后使用安装依赖项。为了获得最佳性能,我们建议您还安装 flash-attention 的最新版本(>=2.3.3)。 pip install -r requirements.txt |
自动下载 | 默认情况下,模型权重和分词器将在下一步中从 HuggingFace 自动下载。 |
手动下载 | 您也可以从以下位置手动下载它们: ModelScope地址:ModelScope 魔搭社区 镜像站点(记得解压内容)地址: Yi-6B.tar:https://storage.lingyiwanwu.com/yi/models/Yi-6B.tar Yi-34B.tar:https://storage.lingyiwanwu.com/yi/models/Yi-34B.tar |
尝试基础模型 | 尝试基础模型 python demo/text_generation.py |
使用下载的模型 | 要重复使用上一步下载的模型,您可以提供额外的 --model 参数: python demo/text_generation.py --model /path/to/model |
或者如果您愿意深入了解:
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("01-ai/Yi-34B", device_map="auto", torch_dtype="auto", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("01-ai/Yi-34B", trust_remote code=True)
inputs = tokenizer("有一个地方时间停滞不前。一个令人叹为观止的地方,但也", return_tensors="pt")
outputs = model.generate(inputs.input_ids.cuda(), max_new_tokens=256)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
从基础模型进行微调 | 从基础模型进行微调 bash finetune/scripts/run_sft_Yi_6b.sh |
完成后,您可以使用以下命令比较微调后的模型和基础模型: bash finetune/scripts/run_eval.sh 有关更高级的用法,如基于自定义数据进行微调,请参考文档。 |
更新中……
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。