Yi 系列模型是 01.AI 从零训练的下一代开源大语言模型。

  •  Yi 系列模型是 01.AI 从零训练的下一代开源大语言模型。

  • 🙌 Yi 系列模型是一个双语语言模型,在 3T 多语言语料库上训练而成,是全球最强大的大语言模型之一。Yi 系列模型在语言认知、常识推理、阅读理解等方面表现优异。例如,

    • Yi-34B-Chat 模型在 AlpacaEval Leaderboard 排名第二仅次于 GPT-4 Turbo,超过了 GPT-4、Mixtral 和 Claude 等大语言模型(数据截止至 2024 年 1 月)。

    • Yi-34B 模型在 Hugging Face Open LLM Leaderboard(预训练)与 C-Eval 基准测试中荣登榜首在中文和英文语言能力方面均超过了其它开源模型,例如,Falcon-180B、Llama-70B 和 Claude(数据截止至 2023 年 11 月)。

    • 🙏 (致谢 Llama )感谢 Transformer 和 Llama 开源社区,不仅简化了开发者从零开始构建大模型的工作,开发者还可以利用 Llama 生态中现有的工具、库和资源,提高开发效率。

    如果你对 Yi 使用 Llama 架构及其许可使用政策感兴趣,参阅 「Yi 与 Llama 的关系」。 

返回顶部 ⬆️ ]

最新动态

🎯 2024-01-23: 发布并开源了 和 多模态语言大模型。Yi-VL-34BYi-VL-6B

Yi-VL-34B在 MMMU 和 CMMMU 最新的基准测试中荣登榜首(数据截止至 2024 年 1 月)。

🎯 2023-11-23: 发布并开源了六大 Chat 模型。
🔔 2023-11-23: Yi 系列模型社区许可协议更新至 2.1 版本
🔥 2023-11-08: Yi-34B-Chat 模型开始邀请测试。
🎯 2023-11-05: 发布并开源了 和 Base 模型。Yi-6B-200KYi-34B-200K
🎯 2023-11-02: 发布并开源了 和 模型。Yi-6B-BaseYi-34B-Base

返回顶部 ⬆️ ]

模型

Yi 系列模型有多种参数规模,适用于不同的使用场景。你也可以对Yi模型进行微调,从而满足特定需求。

如需部署 Yi 系列模型,应确保软件和硬件满足「部署要求」.

Chat 模型

模型下载
Yi-34B-聊天室• 🤗 拥抱脸 • 🤖 ModelScope
Yi-34B-聊天-4位• 🤗 拥抱脸 • 🤖 ModelScope
Yi-34B-聊天-8位• 🤗 拥抱脸 • 🤖 ModelScope
Yi-6B-聊天室• 🤗 拥抱脸 • 🤖 ModelScope
Yi-6B-聊天-4位• 🤗 拥抱脸 • 🤖 ModelScope
Yi-6B-Chat-8位• 🤗 拥抱脸 • 🤖 ModelScope

– 4-bits 系列模型由AWQ量化。
– 8-bits 系列模型由GPTQ量化。
– 所有量化模型的使用门槛较低,因此可以在消费级GPU(例如,3090、4090)上部署。

Base 模型

模型下载
易-34B• 🤗 拥抱脸 • 🤖 ModelScope
一-34B-200K• 🤗 拥抱脸 • 🤖 ModelScope
易-6B• 🤗 拥抱脸 • 🤖 ModelScope
易-6B-200K• 🤗 拥抱脸 • 🤖 ModelScope

– 200K 大约相当于 40 万个汉字。

其它信息

  • Chat 和 Base 模型:

    • 6B 系列模型适合个人和学术使用。

    • 34B 系列模型适合个人、学术和商业用途(尤其对中小型企业友好)。34B 模型尺寸在开源社区属于稀缺的”黄金比例”尺寸,已具大模型涌现能力,适合发挥于多元场景,满足开源社区的刚性需求。

    • 默认的上下文窗口是 4k tokens

    • 预训练的 tokens 数量是 3T。

    • 训练数据截至 2023 年 6 月。

  • Chat 模型

    关于 Chat 模型的局限性,参阅以下解释。⬇️

返回顶部 ⬆️ ]

📌 如何使用 Yi?

快速上手

你可以选择一条学习路径,开始使用 Yi 系列模型。

选择学习路径

你可以根据自身需求,选择以下方式之一,开始你的 Yi 之旅。

 

🎯 在本地部署 Yi

如果你想在本地部署 Yi 模型,

  • 🙋 ♀️ 并且你有足够的资源(例如,NVIDIA A800 80GB),你可以选择以下方式之一。
  • 🙋 ♀️ 但你的资源有限(例如,一台 MacBook Pro),你可以使用 llama.cpp

🎯 不在本地部署 Yi 模型

如果你不想在本地部署 Yi 模型,你可以选择以下方式之一。

🙋 ♀️ 使用 Yi API

如果你想探索 Yi 的更多功能,你可以选择以下方式之一。

  • Yi APIs (Yi 官方)

    • 部分申请者已获取 Yi API keys。Yi 将开放更多 API keys,敬请期待。
  • Yi APIs (Replicate,第三方网站)

🙋 ♀️ 使用 Yi Playground

如果你想与 Yi 聊天,并使用更多自定义选项(例如,系统提示、温度、重复惩罚等),你可以选择以下方式之一。

🙋 ♀️ 使用 Yi Chat

以下提供了类似的用户体验,你可以选择以下方式之一,与 Yi 聊天。

  • Yi-34B-Chat(Yi 官方 – 拥抱脸)

    • 不需要注册。
  • Yi-34B-Chat(Yi 官方)

    • 如需使用官方在线聊天服务,欢迎申请加入白名单(填写英文中文申请表)。

返回顶部 ⬆️ ]

快速上手 – PyPi (pip install)

本教程在配置为 A800(80GB) 的本地机器上运行 Yi-34B-Chat, 并进行推理。

第 0 步:前提条件

  • 确保安装了 Python 3.10 以上版本。

  • 如果你想运行 Yi 系列模型,参阅「部署要求」。

第 1 步:准备环境

如需设置环境,安装所需要的软件包,运行下面的命令。

git clone https://github.com/01-ai/Yi.git
cd yi
pip install -r requirements.txt

第 2 步:下载模型

你可以从以下来源下载 Yi 模型。

第 3 步:进行推理

你可以使用 Yi Chat 模型或 Base 模型进行推理。

使用 Yi Chat 模型进行推理

  1. 创建一个名为 的文件,并将以下内容复制到该文件中。quick_start.py

    from transformers import AutoModelForCausalLM, AutoTokenizer
    
    model_path = '<your-model-path>'
    
    tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=False)
    
    # Since transformers 4.35.0, the GPT-Q/AWQ model can be loaded using AutoModelForCausalLM.
    model = AutoModelForCausalLM.from_pretrained(
        model_path,
        device_map="auto",
        torch_dtype='auto'
    ).eval()
    
    # Prompt content: "hi"
    messages = [
        {"role": "user", "content": "hi"}
    ]
    
    input_ids = tokenizer.apply_chat_template(conversation=messages, tokenize=True, add_generation_prompt=True, return_tensors='pt')
    output_ids = model.generate(input_ids.to('cuda'))
    response = tokenizer.decode(output_ids[0][input_ids.shape[1]:], skip_special_tokens=True)
    
    # Model response: "Hello! How can I assist you today?"
    print(response)
  2. 运行 代码。quick_start.py

    python quick_start.py

    你将得到一个类似输出,如下所示。🥳

    Hello! How can I assist you today?
使用 Yi Base 模型进行推理

步骤与「使用 Yi Chat 模型进行推理」类似。

你可以使用现有文件 text_generation.py进行推理。

python demo/text_generation.py  --model <your-model-path>
你将得到一个类似输出,如下所示。🥳 ⬇️

返回顶部 ⬆️ ]

快速上手 – Docker

🚀 教程:在本地 Docker 上运行 Yi-34B-Chat。⬇️

快速上手 – conda-lock

🚀 如需创建一个可以完全重现的 conda 环境锁定文件,你可以使用 工具。⬇️conda-lock

快速上手 – llama.cpp

🚀 教程:在本地 llama.cpp 上运行 Yi-chat-6B-2bits。⬇️

返回顶部 ⬆️ ]

快速上手 – 使用 Web demo

你可以使用 Yi Chat 模型(Yi-34B-Chat)创建 Web demo。注意:Yi Base 模型(Yi-34B)不支持该功能。

第一步:准备环境

第二步:下载模型

第三步:启动 Web demo 服务,运行以下命令。

python demo/web_demo.py -c <你的模型路径>

命令运行完毕后,你可以在浏览器中输入控制台提供的网址,来使用 Web demo 功能。

返回顶部 ⬆️ ]

微调

bash finetune/scripts/run_sft_Yi_6b.sh

完成后,你可以使用以下命令,比较微调后的模型与 Base 模型。

bash finetune/scripts/run_eval.sh
你可以使用 Yi 6B 和 34B Base 模型的微调代码,根据你的自定义数据进行微调。⬇️

返回顶部 ⬆️ ]

量化

GPT-Q 量化

python quantization/gptq/quant_autogptq.py \  --model /base_model                      \  --output_dir /quantized_model            \  --trust_remote_code

如需评估生成的模型,你可以使用以下代码。

python quantization/gptq/eval_quantized_model.py \
  --model /quantized_model                       \
  --trust_remote_code
详细的量化过程。⬇️

AWQ 量化

python quantization/awq/quant_autoawq.py \  --model /base_model                      \  --output_dir /quantized_model            \  --trust_remote_code

如需评估生成的模型,你可以使用以下代码。

python quantization/awq/eval_quantized_model.py \
  --model /quantized_model                       \
  --trust_remote_code
详细的量化过程。⬇️

返回顶部 ⬆️ ]

部署

如果你想部署 Yi 模型,确保满足以下软件和硬件要求。

软件要求

在使用 Yi 量化模型之前,确保安装以下软件。

模型 软件
Yi 4-bits 量化模型 AWQ 和 CUDA
Yi 8-bits 量化模型 GPTQ 和 CUDA

硬件要求

部署 Yi 系列模型之前,确保硬件满足以下要求。

Chat 模型

模型最低显存推荐GPU示例
Yi-6B-聊天室15 千兆字节RTX 3090
RTX 4090
A10
A30
Yi-6B-聊天-4位4 千兆字节RTX 3060
RTX 4060
Yi-6B-Chat-8位8 千兆字节RTX 3070
RTX 4060
Yi-34B-聊天室72 千兆字节4 x RTX 4090
A800 (80GB)
Yi-34B-聊天-4位20 千兆字节RTX 3090
RTX 4090
A10
A30
A100 (40GB)
Yi-34B-聊天-8位38 千兆字节2 个 RTX 3090
2 个 RTX 4090
A800 (40GB)

以下是不同 batch 使用情况下的最低显存要求。

模型 批次=1 批次=4 批次=16 批次=32
Yi-6B-聊天室 12 千兆字节 13 千兆字节 15 千兆字节 18千兆字节
Yi-6B-聊天-4位 4 千兆字节 5千兆字节 7 千兆字节 10 千兆字节
Yi-6B-Chat-8位 7 千兆字节 8 千兆字节 10 千兆字节 14千兆字节
Yi-34B-聊天室 65 千兆字节 68千兆字节 76千兆字节 > 80 GB
Yi-34B-聊天-4位 19 千兆字节 20 千兆字节 30 千兆字节 40 千兆字节
Yi-34B-聊天-8位 35 千兆字节 37 千兆字节 46千兆字节 58 千兆字节
Base 模型

模型最低显存推荐GPU示例
易-6B15 千兆字节RTX3090
RTX4090
A10
A30
易-6B-200K50 千兆字节A800 (80 GB)
易-34B72 千兆字节4 x RTX 4090
A800 (80 GB)
一-34B-200K200 千兆字节4 个 A800 (80 GB)

学习中心

如果你想学习如何使用 Yi 系列模型,这里有丰富的学习资源。⬇️

📌 为什么选择 Yi?

生态

Yi 生态为你提供一系列工具、服务和模型,你将获得丰富的体验,最大程度提升工作工作效率。

上游

Yi 系列模型遵循与 Llama 相同的模型架构。选择 Yi,你可以利用 Llama 生态中现有的工具、库和资源,无需创建新工具,提高开发效率。

例如,Yi 系列模型以 Llama 模型的格式保存。你可以直接使用 和 加载模型,使用以下代码。LlamaForCausalLMLlamaTokenizer

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("01-ai/Yi-34b", use_fast=False)

model = AutoModelForCausalLM.from_pretrained("01-ai/Yi-34b", device_map="auto")

返回顶部 ⬆️ ]

下游

💡 提示

  • 如果你开发了与 Yi 相关的服务、模型、工具、平台或其它内容,欢迎提交 PR,将你的成果展示在 Yi 生态

  • 为了帮助他人快速理解你的工作,建议使用的格式。<模型名称>: <模型简介> + <模型亮点>

下游 – 服务

如果你想在几分钟内开始使用 Yi,你可以使用以下基于 Yi 构建的服务。

下游 – 量化

如果资源有限,你可以使用 Yi 的量化模型,如下所示。

这些量化模型虽然精度降低,但效率更高,例如,推理速度更快,RAM 使用量更小。

下游 – 微调

如果你希望探索 Yi 的其它微调模型,你可以尝试以下方式。

下游 – API

  • amazing-openai-api:此工具可以将 Yi 模型 API 转换成 OpenAI API 格式。
  • LlamaEdge:你可以通过该工具快速部署 Yi-34B-Chat 并开始聊天。该工具由 Rust 语言开发,使用可移植的 Wasm(WebAssembly)文件构建了一个与 OpenAI 兼容的 API 服务器。

返回顶部 ⬆️ ]

基准测试

Chat 模型性能

Yi-34B-Chat 模型表现出色,在 MMLU、CMMLU、BBH、GSM8k 等所有开源模型的基准测试中排名第一。

 

测评方法与挑战 ⬇️

Base 模型性能

Yi-34B 和 Yi-34B-200K 模型在开源模型中脱颖而出,尤其在 MMLU、CMMLU、常识推理、阅读理解等方面表现卓越。

 

测评方法 ⬇️

📌 谁可以使用 Yi?

答案是所有人!🙌 ✅

关于如何使用 Yi 系列模型,参阅「许可证」。

返回顶部 ⬆️ ]

📌 其它

致谢

我们对每位火炬手都深表感激,感谢你们为 Yi 社区所做的贡献。因为有你们,Yi 不仅是一个项目,还成为了一个充满活力的创新社区。我们由衷地感谢各位小伙伴!

 

本文贡献者

Yi Readme 中文版由以下贡献者完成,排名不分先后,以用户名首字母顺序排列。

返回顶部 ⬆️ ]

免责声明

在训练过程中,我们使用数据合规性检查算法,最大程度地确保训练模型的合规性。由于数据复杂且语言模型使用场景多样,我们无法保证模型在所有场景下均能生成正确合理的回复。注意,模型仍可能生成有误的回复。对于任何因误用、误导、非法使用、错误使用导致的风险和问题,以及与之相关的数据安全问题,我们均不承担责任。

返回顶部 ⬆️ ]

许可证

本仓库中的源代码遵循 Apache 2.0 许可证。Yi 系列模型完全开放,你可以免费用于个人用途、学术研究和商业用途。如需商用,你仅需提交申请,即能立刻自动获取 Yi 系列模型商用许可,而无需等待官方审批。所有使用必须遵守《Yi系列模型社区许可协议 2.1》

返回顶部 ⬆️ ]

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun287744.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2024年3月6日
下一篇 2024年3月6日

相关推荐