HuggingFace镜像/Yi-34B-Chat
模型介绍文件和版本分析
下载使用量0
specify theme context for images

打造下一代开源双语大型语言模型

🤗 Hugging Face • 🤖 ModelScope • ✡️ WiseModel

👩‍🚀 在 GitHub 上提问或交流想法

👋 加入我们的 👾 Discord 或 💬 微信

📝 查阅 Yi 技术报告

📚 在 Yi 学习中心 共同成长


📕 目录
  • 什么是 Yi?
    • 简介
    • 模型
      • 对话模型
      • 基础模型
      • 模型信息
    • 最新动态
  • 如何使用 Yi?
    • 快速开始
      • 选择你的方式
      • pip 安装
      • Docker 部署
      • llama.cpp 部署
      • conda-lock 环境配置
      • 网页演示
    • 微调
    • 量化
    • 部署
    • 常见问题
    • 学习中心
  • 为什么选择 Yi?
    • 生态系统
      • 上游支持
      • 下游应用
        • 服务部署
        • 量化支持
        • 微调工具
        • API 接口
    • 性能基准
      • 基础模型性能
      • 对话模型性能
    • 技术报告
      • 引用
  • 谁可以使用 Yi?
  • 其他
    • 致谢
    • 免责声明
    • 许可协议

什么是 Yi?

简介

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

  • 🙌 作为一款双语语言模型,Yi 系列模型在 3T 多语言语料上进行训练,已跻身全球最强大的大型语言模型之列,在语言理解、常识推理、阅读理解等方面展现出巨大潜力。例如:

    • Yi-34B-Chat 模型在 AlpacaEval 排行榜上位列第二(仅次于 GPT-4 Turbo),性能超过其他大型语言模型(如 GPT-4、Mixtral、Claude)(基于截至 2024 年 1 月的数据)。

    • Yi-34B 模型在各种基准测试中,包括 Hugging Face Open LLM 排行榜(预训练模型)和 C-Eval,在英语和中文方面均位居所有现有开源模型(如 Falcon-180B、Llama-70B、Claude)之首(基于截至 2023 年 11 月的数据)。

    • 🙏(致谢 Llama)感谢 Transformer 和 Llama 开源社区,他们减少了从零开始构建模型的工作量,并使 AI 生态系统内的工具得以通用。

    如果您对 Yi 采用 Llama 架构及许可使用政策感兴趣,请参阅 Yi 与 Llama 的关系。 ⬇️

    💡 核心要点

    Yi 系列模型采用与 Llama 相同的模型架构,但并非 Llama 的衍生产品。

    • Yi 和 Llama 均基于 Transformer 结构,自 2018 年以来,Transformer 一直是大型语言模型的标准架构。

    • 基于 Transformer 架构,Llama 凭借其出色的稳定性、可靠的收敛性和强大的兼容性,已成为大多数最先进开源模型的新基石。这使得 Llama 成为包括 Yi 在内的众多模型公认的基础框架。

    • 得益于 Transformer 和 Llama 架构,其他模型能够借助它们的优势,减少从零开始构建的工作量,并能利用其生态系统中的工具。

    • 然而,Yi 系列模型并非 Llama 的衍生产品,因为它们并未使用 Llama 的权重。

      • 由于 Llama 的结构被大多数开源模型所采用,因此决定模型性能的关键因素在于训练数据集、训练流程和训练基础设施。

      • Yi 通过独特且专有的方式,完全从零开始独立构建了自己的高质量训练数据集、高效的训练流程和稳健的训练基础设施。这一努力使得 Yi 系列模型取得了优异的性能,在 2023 年 12 月的 Alpaca 排行榜 上仅次于 GPT4,并超越了 Llama。

[ 返回顶部 ⬆️ ]

新闻

🔥 2024年7月29日:Yi 指南 1.0 正式发布,包含中英双语教程及示例。
🎯 2024年5月13日:Yi-1.5 系列模型 开源,进一步提升了代码生成、数学能力、推理能力及指令遵循能力。
🎯 2024年3月16日:Yi-9B-200K 模型开源并向公众开放。
🎯 2024年3月8日:Yi 技术报告 正式发表!
🔔 2024年3月7日:Yi-34B-200K 的长文本能力得到增强。
在“大海捞针”测试中,Yi-34B-200K 的性能提升了10.5%,从89.3% 显著提升至99.8%。我们继续在5B tokens 的长上下文数据混合集上对模型进行预训练,并展现出近乎全优的性能。
🎯 2024年3月6日:Yi-9B 模型开源并向公众开放。
在一系列相近规模的开源模型(包括 Mistral-7B、SOLAR-10.7B、Gemma-7B、DeepSeek-Coder-7B-Base-v1.5 等)中,Yi-9B 表现卓越,尤其在代码生成、数学能力、常识推理和阅读理解方面优势突出。
🎯 2024年1月23日:Yi-VL 模型 Yi-VL-34B 和 Yi-VL-6B 开源并向公众开放。
Yi-VL-34B 在最新的基准测试中(包括 MMMU 和 CMMMU),在所有现有开源模型中排名第一(基于2024年1月之前的数据)。
🎯 2023年11月23日:对话模型 开源并向公众开放。
本次发布包含基于先前发布的基础模型构建的两个对话模型、两个经 GPTQ 量化的8位模型以及两个经 AWQ 量化的4位模型。
  • Yi-34B-Chat
  • Yi-34B-Chat-4bits
  • Yi-34B-Chat-8bits
  • Yi-6B-Chat
  • Yi-6B-Chat-4bits
  • Yi-6B-Chat-8bits

您可以通过以下平台交互式体验部分模型:

  • Hugging Face
  • Replicate
🔔 2023年11月23日:Yi 系列模型社区许可协议更新至 v2.1 版本。
🔥 2023年11月8日:Yi-34B 对话模型邀请测试开启。
申请表单:
  • 英文
  • 中文
🎯 2023年11月5日:基础模型 Yi-6B-200K 和 Yi-34B-200K 开源并向公众开放。
本次发布包含两个基础模型,其参数规模与先前发布的模型相同,不同之处在于上下文窗口扩展至200K。
🎯 2023年11月2日:基础模型 Yi-6B 和 Yi-34B 开源并向公众开放。
首次公开发布包含两个中英双语基础模型,参数规模分别为6B和34B。两者均以4K序列长度进行训练,在推理时可扩展至32K。

[ 返回顶部 ⬆️ ]

模型

Yi 模型提供多种尺寸,可满足不同的使用场景。您也可以对 Yi 模型进行微调,以满足特定需求。

如果您想部署 Yi 模型,请确保满足软硬件要求。

对话模型

模型下载链接
Yi-34B-Chat• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel
Yi-34B-Chat-4bits• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel
Yi-34B-Chat-8bits• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel
Yi-6B-Chat• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel
Yi-6B-Chat-4bits• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel
Yi-6B-Chat-8bits• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel

- 4-bit 系列模型采用 AWQ 量化。
- 8-bit 系列模型采用 GPTQ 量化。
- 所有量化模型使用门槛较低,可部署在消费级 GPU 上(如 3090、4090)。

基础模型

模型下载链接
Yi-34B• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel
Yi-34B-200K• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel
Yi-9B• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel
Yi-9B-200K• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel
Yi-6B• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel
Yi-6B-200K• 🤗 Hugging Face • 🤖 ModelScope • 🟣 wisemodel

- 200k 大致相当于 40 万个汉字。
- 若需使用 Yi-34B-200K 的历史版本(2023 年 11 月 5 日发布),请运行 git checkout 069cd341d60f4ce4b07ec394e82b79e94f656cf 下载权重。

模型信息

  • 适用于聊天模型和基础模型
模型介绍默认上下文窗口预训练 tokens训练数据日期
6B 系列模型适用于个人及学术用途。4K3T截至 2023 年 6 月
9B 系列模型是 Yi 系列模型中在代码和数学方面表现最佳的。Yi-9B 在 Yi-6B 的基础上持续训练,使用了 0.8T tokens。
34B 系列模型适用于个人、学术及商业用途(尤其适合中小型企业)。这是一种经济实惠的解决方案,价格亲民且具备涌现能力。3T
  • 针对聊天模型

    关于聊天模型的局限性,请参见以下说明。⬇️

      已发布的聊天模型经过了专门的监督微调(SFT)训练。与其他标准聊天模型相比,我们的模型能生成更多样化的回复,使其适用于各种下游任务,例如创意场景。此外,这种多样性有望提高生成更高质量回复的可能性,这将有利于后续的强化学习(RL)训练。


      然而,这种更高的多样性可能会放大某些现有问题,包括:

    • 幻觉:指模型生成与事实不符或无意义的信息。由于模型的回复更加多样,基于不准确数据或逻辑推理的幻觉出现的几率更高。
    • 再生的非确定性:在尝试重新生成或采样回复时,结果可能会出现不一致。即使在相似的输入条件下,增加的多样性也可能导致不同的结果。
    • 累积误差:指模型回复中的错误随着时间推移而累积。当模型生成更多样化的回复时,小的不准确之处在复杂任务(如扩展推理、数学问题解决等)中演变成更大错误的可能性增加。
    • 为获得更连贯和一致的回复,建议调整生成配置参数,如 temperature、top_p 或 top_k。这些调整有助于平衡模型输出的创造性和连贯性。

[ 返回顶部 ⬆️ ]

如何使用 Yi?

  • 快速开始
    • 选择使用方式
    • pip
    • docker
    • conda-lock
    • llama.cpp
    • Web 演示
  • 微调
  • 量化
  • 部署
  • 常见问题
  • 学习中心

快速开始

💡 提示:如果您想开始使用 Yi 模型并探索不同的推理方法,请查看 Yi 实践指南。

选择使用方式

选择以下任意一种方式开始您的 Yi 使用之旅!

快速开始 - 选择使用方式

🎯 本地部署 Yi

如果您希望在本地部署 Yi 模型,

  • 🙋‍♀️ 且您拥有充足的资源(例如,NVIDIA A800 80GB),您可以选择以下任一方法:
    • pip

    • Docker

    • conda-lock

    • 🙋‍♀️ 且您的资源有限(例如,MacBook Pro),您可以使用 llama.cpp。

🎯 非本地部署 Yi

如果您不希望在本地部署 Yi 模型,您可以通过以下任一选项探索 Yi 的功能。

🙋‍♀️ 通过 API 运行 Yi

如果您想探索 Yi 的更多功能,可以采用以下方法之一:

  • Yi API(Yi 官方)

    • 部分申请者已获得早期访问权限。敬请关注下一轮访问!
  • Yi API(Replicate)

🙋‍♀️ 在实验平台运行 Yi

如果您想通过更多自定义选项(如系统提示、温度参数、重复惩罚等)与 Yi 对话,您可以尝试以下任一选项:

  • Yi-34B-Chat-Playground(Yi 官方)
    • 需通过白名单访问。欢迎申请(填写英文或中文表单)。

    • Yi-34B-Chat-Playground(Replicate)

🙋‍♀️ 与 Yi 对话

如果您想与 Yi 对话,您可以使用以下在线服务,它们提供类似的用户体验:

  • Yi-34B-Chat(Hugging Face 上的 Yi 官方空间)

    • 无需注册。
  • Yi-34B-Chat(Yi 官方测试版)

    • 需通过白名单访问。欢迎申请(填写英文或中文表单)。

[ 返回顶部 ⬆️ ]

快速开始 - pip 方式

本教程将引导您完成在 A800(80G)本地运行 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 模型

您可以通过以下渠道下载 Yi 模型的权重和分词器:

  • Hugging Face
  • ModelScope
  • WiseModel

步骤 3:进行推理

您可以按照以下方式使用 Yi 对话模型或基础模型进行推理。

使用 Yi 对话模型进行推理
  1. 创建一个名为 quick_start.py 的文件,并将以下内容复制到文件中。

    from transformers import AutoModelForCausalLM, AutoTokenizer
    
    model_path = '<your-model-path>'
    
    tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=False)
    
    # 从 transformers 4.35.0 版本开始,可以使用 AutoModelForCausalLM 加载 GPT-Q/AWQ 模型。
    model = AutoModelForCausalLM.from_pretrained(
        model_path,
        device_map="auto",
        torch_dtype='auto'
    ).eval()
    
    # 提示内容:"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)
    
    # 模型响应:"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 基础模型进行推理
  • Yi-34B

    步骤与 pip - 使用 Yi 对话模型进行推理 类似。

    您可以使用现有的文件 text_generation.py。

    python demo/text_generation.py  --model <your-model-path>

    之后,您将看到类似以下的输出。🥳

    输出结果。⬇️

    提示:Let me tell you an interesting story about cat Tom and mouse Jerry,

    生成内容:Let me tell you an interesting story about cat Tom and mouse Jerry, which happened in my childhood. My father had a big house with two cats living inside it to kill mice. One day when I was playing at home alone, I found one of the tomcats lying on his back near our kitchen door, looking very much like he wanted something from us but couldn’t get up because there were too many people around him! He kept trying for several minutes before finally giving up...

  • Yi-9B

    输入

    from transformers import AutoModelForCausalLM, AutoTokenizer
    
    MODEL_DIR = "01-ai/Yi-9B"
    model = AutoModelForCausalLM.from_pretrained(MODEL_DIR, torch_dtype="auto")
    tokenizer = AutoTokenizer.from_pretrained(MODEL_DIR, use_fast=False)
    
    input_text = "# write the quick sort algorithm"
    inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
    outputs = model.generate(**inputs, max_length=256)
    print(tokenizer.decode(outputs[0], skip_special_tokens=True))

    输出

    # write the quick sort algorithm
    def quick_sort(arr):
        if len(arr) <= 1:
            return arr
        pivot = arr[len(arr) // 2]
        left = [x for x in arr if x < pivot]
        middle = [x for x in arr if x == pivot]
        right = [x for x in arr if x > pivot]
        return quick_sort(left) + middle + quick_sort(right)
    
    # test the quick sort algorithm
    print(quick_sort([3, 6, 8, 10, 1, 2, 1]))

[ 返回顶部 ⬆️ ]

快速开始 - Docker

使用 Docker 在本地运行 Yi-34B-Chat:分步指南。⬇️
本教程将指导您在本地 A800 GPU 或 4*4090 上运行 Yi-34B-Chat 并进行推理的每一步。

步骤 0:前提条件

确保您已安装 Docker 和 nvidia-container-toolkit。

步骤 1:启动 Docker

docker run -it --gpus all \
-v <your-model-path>: /models
ghcr.io/01-ai/yi:latest

或者,您也可以从 registry.lingyiwanwu.com/ci/01-ai/yi:latest 拉取 Yi Docker 镜像。

步骤 2:进行推理

您可以按以下方式使用 Yi 对话模型或基础模型进行推理。

使用 Yi 对话模型进行推理

步骤与 pip - 使用 Yi 对话模型进行推理 类似。

注意,唯一的区别是将 model_path = '<your-model-path>' 设置为 model_path = '<your-model-mount-path>'。

使用 Yi 基础模型进行推理

步骤与 pip - 使用 Yi 基础模型进行推理 类似。

注意,唯一的区别是将 --model <your-model-path> 设置为 --model <your-model-mount-path>。

快速开始 - conda-lock

您可以使用 conda-lock 为 conda 环境生成完全可重现的锁定文件。⬇️
您可以参考 conda-lock.yml 获取依赖项的确切版本。此外,您还可以使用 micromamba 来安装这些依赖项。
要安装依赖项,请按照以下步骤操作:
  1. 按照 此处 的说明安装 micromamba。

  2. 执行 micromamba install -y -n yi -f conda-lock.yml 创建一个名为 yi 的 conda 环境并安装必要的依赖项。

快速开始 - llama.cpp

以下教程将引导您完成在本地运行量化模型(Yi-chat-6B-2bits)并进行推理的每一步。

使用llama.cpp在本地运行Yi-chat-6B-2bits:分步指南。⬇️
本教程将引导您完成在本地运行量化模型(Yi-chat-6B-2bits)并进行推理的每一步。

  • 步骤0:前提条件
  • 步骤1:下载llama.cpp
  • 步骤2:下载Yi模型
  • 步骤3:执行推理

步骤0:前提条件

  • 本教程假设您使用的是配备16GB内存和Apple M2 Pro芯片的MacBook Pro。

  • 确保您的机器上已安装git-lfs。

步骤1:下载llama.cpp

要克隆llama.cpp代码库,请运行以下命令。

git clone git@github.com:ggerganov/llama.cpp.git

步骤 2:下载 Yi 模型

2.1 若要仅使用指针克隆 XeIaso/yi-chat-6B-GGUF,请运行以下命令。

GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/XeIaso/yi-chat-6B-GGUF

2.2 若要下载量化后的 Yi 模型(yi-chat-6b.Q2_K.gguf),请运行以下命令。

git-lfs pull --include yi-chat-6b.Q2_K.gguf

步骤 3:执行推理

要使用 Yi 模型执行推理,您可以采用以下方法之一。

  • 方法 1:在终端中执行推理

  • 方法 2:在网页中执行推理

方法 1:在终端中执行推理

若要使用 4 个线程编译 llama.cpp 并进行推理,请导航至 llama.cpp 目录,然后运行以下命令。

提示
  • 将 /Users/yu/yi-chat-6B-GGUF/yi-chat-6b.Q2_K.gguf 替换为您模型的实际路径。

  • 默认情况下,模型以补全模式运行。

  • 如需其他输出自定义选项(例如,系统提示词、温度参数、重复惩罚等),请运行 ./main -h 查看详细说明和使用方法。

make -j4 && ./main -m /Users/yu/yi-chat-6B-GGUF/yi-chat-6b.Q2_K.gguf -p "How do you feed your pet fox? Please answer this question in 6 simple steps:\nStep 1:" -n 384 -e

...

How do you feed your pet fox? Please answer this question in 6 simple steps:

Step 1: Select the appropriate food for your pet fox. You should choose high-quality, balanced prey items that are suitable for their unique dietary needs. These could include live or frozen mice, rats, pigeons, or other small mammals, as well as fresh fruits and vegetables.

Step 2: Feed your pet fox once or twice a day, depending on the species and its individual preferences. Always ensure that they have access to fresh water throughout the day.

Step 3: Provide an appropriate environment for your pet fox. Ensure it has a comfortable place to rest, plenty of space to move around, and opportunities to play and exercise.

Step 4: Socialize your pet with other animals if possible. Interactions with other creatures can help them develop social skills and prevent boredom or stress.

Step 5: Regularly check for signs of illness or discomfort in your fox. Be prepared to provide veterinary care as needed, especially for common issues such as parasites, dental health problems, or infections.

Step 6: Educate yourself about the needs of your pet fox and be aware of any potential risks or concerns that could affect their well-being. Regularly consult with a veterinarian to ensure you are providing the best care.

...

现在您已成功向 Yi 模型提问并获得了回答!🥳

方法 2:通过网页进行推理
  1. 若要初始化一个轻量级且响应迅速的聊天机器人,请运行以下命令。

    cd llama.cpp
    ./server --ctx-size 2048 --host 0.0.0.0 --n-gpu-layers 64 --model /Users/yu/yi-chat-6B-GGUF/yi-chat-6b.Q2_K.gguf

    之后,您将看到类似如下的输出:

    ...
    
    llama_new_context_with_model: n_ctx      = 2048
    llama_new_context_with_model: freq_base  = 5000000.0
    llama_new_context_with_model: freq_scale = 1
    ggml_metal_init: allocating
    ggml_metal_init: found device: Apple M2 Pro
    ggml_metal_init: picking default device: Apple M2 Pro
    ggml_metal_init: ggml.metallib not found, loading from source
    ggml_metal_init: GGML_METAL_PATH_RESOURCES = nil
    ggml_metal_init: loading '/Users/yu/llama.cpp/ggml-metal.metal'
    ggml_metal_init: GPU name:   Apple M2 Pro
    ggml_metal_init: GPU family: MTLGPUFamilyApple8 (1008)
    ggml_metal_init: hasUnifiedMemory              = true
    ggml_metal_init: recommendedMaxWorkingSetSize  = 11453.25 MB
    ggml_metal_init: maxTransferRate               = built-in GPU
    ggml_backend_metal_buffer_type_alloc_buffer: allocated buffer, size =   128.00 MiB, ( 2629.44 / 10922.67)
    llama_new_context_with_model: KV self size  =  128.00 MiB, K (f16):   64.00 MiB, V (f16):   64.00 MiB
    ggml_backend_metal_buffer_type_alloc_buffer: allocated buffer, size =     0.02 MiB, ( 2629.45 / 10922.67)
    llama_build_graph: non-view tensors processed: 676/676
    llama_new_context_with_model: compute buffer total size = 159.19 MiB
    ggml_backend_metal_buffer_type_alloc_buffer: allocated buffer, size =   156.02 MiB, ( 2785.45 / 10922.67)
    Available slots:
    -> Slot 0 - max context: 2048
    
    llama server listening at http://0.0.0.0:8080
  2. 要访问聊天机器人界面,请打开网页浏览器,并在地址栏中输入 http://0.0.0.0:8080。

    Yi model chatbot interface - llama.cpp

  3. 在提示窗口中输入一个问题,例如“如何喂养宠物狐狸?请用 6 个简单步骤回答”,您将收到相应的回答。

    Ask a question to Yi model - llama.cpp

[ 返回顶部 ⬆️ ]

Web 演示

您可以为 Yi chat 模型构建 Web UI 演示(请注意,Yi 基础模型在此场景下不支持)。

步骤 1:准备环境。

步骤 2:下载 Yi 模型。

步骤 3. 要在本地启动 Web 服务,请运行以下命令。

python demo/web_demo.py -c <your-model-path>

您可以通过在浏览器中输入控制台提供的地址来访问 Web UI。

Quick start - web demo

[ 返回顶部 ⬆️ ]

微调

bash finetune/scripts/run_sft_Yi_6b.sh

完成后,您可以使用以下命令比较微调模型和基础模型:

bash finetune/scripts/run_eval.sh
如需高级使用(例如基于您的自定义数据进行微调),请参见以下说明。⬇️

    Yi 6B 和 34B 的微调代码

    准备工作

    基于镜像

    默认情况下,我们使用来自 BAAI/COIG 的小型数据集对基础模型进行微调。 您也可以按照以下 jsonl 格式准备您的自定义数据集:

{ "prompt": "Human: Who are you? Assistant:", "chosen": "I'm Yi." }

然后将它们挂载到容器中,以替换默认的文件:

docker run -it \
    -v /path/to/save/finetuned/model/:/finetuned-model \
    -v /path/to/train.jsonl:/yi/finetune/data/train.json \
    -v /path/to/eval.jsonl:/yi/finetune/data/eval.json \
    ghcr.io/01-ai/yi:latest \
    bash finetune/scripts/run_sft_Yi_6b.sh
从本地服务器出发

请确保您已安装 conda。如果尚未安装,请使用

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
~/miniconda3/bin/conda init bash
source ~/.bashrc

然后,创建一个 conda 环境:

conda create -n dev_env python=3.10 -y
conda activate dev_env
pip install torch==2.0.1 deepspeed==0.10 tensorboard transformers datasets sentencepiece accelerate ray==2.7

硬件设置

对于 Yi-6B 模型,建议使用配备 4 块 GPU 的节点,每块 GPU 显存需大于 60GB。

对于 Yi-34B 模型,由于 zero-offload 技术的使用会消耗大量 CPU 内存,因此在 34B 模型的微调训练中,请务必注意限制 GPU 的数量。请使用 CUDA_VISIBLE_DEVICES 来限制 GPU 数量(如 scripts/run_sft_Yi_34b.sh 所示)。

微调 34B 模型的典型硬件配置为:一个节点配备 8 块 GPU(运行时通过 CUDA_VISIBLE_DEVICES=0,1,2,3 限制为 4 块),每块 GPU 显存大于 80GB,且总 CPU 内存大于 900GB。

快速开始

下载一个 LLM 基础模型到 MODEL_PATH(6B 和 34B)。模型的典型文件夹结构如下:

|-- $MODEL_PATH
|   |-- config.json
|   |-- pytorch_model-00001-of-00002.bin
|   |-- pytorch_model-00002-of-00002.bin
|   |-- pytorch_model.bin.index.json
|   |-- tokenizer_config.json
|   |-- tokenizer.model
|   |-- ...

从 huggingface 将数据集下载到本地存储路径 DATA_PATH,例如 Dahoas/rm-static。

|-- $DATA_PATH
|   |-- data
|   |   |-- train-00000-of-00001-2a1df75c6bce91ab.parquet
|   |   |-- test-00000-of-00001-8c7c51afc6d45980.parquet
|   |-- dataset_infos.json
|   |-- README.md

finetune/yi_example_dataset 包含示例数据集,这些数据集基于 BAAI/COIG 修改而成。

|-- $DATA_PATH
    |--data
        |-- train.jsonl
        |-- eval.jsonl

cd 进入 scripts 文件夹,复制粘贴脚本并运行。例如:

cd finetune/scripts

bash run_sft_Yi_6b.sh

对于 Yi-6B 基础模型,设置 training_debug_steps=20 和 num_train_epochs=4 即可输出一个对话模型,耗时约 20 分钟。

对于 Yi-34B 基础模型,初始化过程所需时间相对较长,请耐心等待。

评估

cd finetune/scripts

bash run_eval.sh

然后你将看到基础模型和微调模型的答案。

[ 返回顶部 ⬆️ ]

量化

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
详情请参见以下说明。⬇️

    GPT-Q 量化

    GPT-Q 是一种 PTQ(训练后量化)方法。它能够节省内存并可能提升速度,同时保持模型的精度。

    Yi 模型可以轻松进行 GPT-Q 量化。我们在下方提供了分步教程。

    要运行 GPT-Q,我们将使用 AutoGPTQ 和 exllama。并且 huggingface transformers 已集成 optimum 和 auto-gptq,以对语言模型执行 GPTQ 量化。

    执行量化

    我们提供了 quant_autogptq.py 脚本,供您执行 GPT-Q 量化:

python quant_autogptq.py --model /base_model \
    --output_dir /quantized_model --bits 4 --group_size 128 --trust_remote_code
运行量化模型

您可以使用 eval_quantized_model.py 运行量化模型:

python 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
详情请参见以下说明。⬇️

    AWQ 量化

    AWQ 是一种 PTQ(训练后量化)方法。它是一种高效且准确的大语言模型低比特权重量化(INT3/4)方法。

    Yi 模型可轻松进行 AWQ 量化。我们在下方提供了分步教程。

    要运行 AWQ,我们将使用 AutoAWQ。

    执行量化

    提供了 quant_autoawq.py 脚本,供您执行 AWQ 量化:

python quant_autoawq.py --model /base_model \
    --output_dir /quantized_model --bits 4 --group_size 128 --trust_remote_code
运行量化模型

您可以使用 eval_quantized_model.py 运行量化模型:

python eval_quantized_model.py --model /quantized_model --trust_remote_code

[ 返回顶部 ⬆️ ]

部署

若要部署 Yi 模型,请确保满足以下软硬件要求。

软件要求

使用 Yi 量化模型前,请确保已安装以下指定软件。

模型软件
Yi 4 位量化模型AWQ 与 CUDA
Yi 8 位量化模型GPTQ 与 CUDA

硬件要求

在环境中部署 Yi 模型前,请确保硬件满足以下要求。

对话模型
模型最低显存推荐 GPU 示例
Yi-6B-Chat15 GB1 x RTX 3090 (24 GB)
1 x RTX 4090 (24 GB)
1 x A10 (24 GB)
1 x A30 (24 GB)
Yi-6B-Chat-4bits4 GB1 x RTX 3060 (12 GB)
1 x RTX 4060 (8 GB)
Yi-6B-Chat-8bits8 GB1 x RTX 3070 (8 GB)
1 x RTX 4060 (8 GB)
Yi-34B-Chat72 GB4 x RTX 4090 (24 GB)
1 x A800 (80GB)
Yi-34B-Chat-4bits20 GB1 x RTX 3090 (24 GB)
1 x RTX 4090 (24 GB)
1 x A10 (24 GB)
1 x A30 (24 GB)
1 x A100 (40 GB)
Yi-34B-Chat-8bits38 GB2 x RTX 3090 (24 GB)
2 x RTX 4090 (24 GB)
1 x A800 (40 GB)

以下是不同批量使用场景下的详细最低显存要求。

模型batch=1batch=4batch=16batch=32
Yi-6B-Chat12 GB13 GB15 GB18 GB
Yi-6B-Chat-4bits4 GB5 GB7 GB10 GB
Yi-6B-Chat-8bits7 GB8 GB10 GB14 GB
Yi-34B-Chat65 GB68 GB76 GB> 80 GB
Yi-34B-Chat-4bits19 GB20 GB30 GB40 GB
Yi-34B-Chat-8bits35 GB37 GB46 GB58 GB
基础模型
模型最低显存推荐 GPU 示例
Yi-6B15 GB1 x RTX 3090 (24 GB)
1 x RTX 4090 (24 GB)
1 x A10 (24 GB)
1 x A30 (24 GB)
Yi-6B-200K50 GB1 x A800 (80 GB)
Yi-9B20 GB1 x RTX 4090 (24 GB)
Yi-34B72 GB4 x RTX 4090 (24 GB)
1 x A800 (80 GB)
Yi-34B-200K200 GB4 x A800 (80 GB)

[ 返回顶部 ⬆️ ]

常见问题

在使用 Yi 系列模型过程中,若您遇到任何问题,以下提供的答案或许能为您提供有益参考。⬇️

💡微调

  • 应该微调基础模型还是对话模型?
    选择哪种预训练语言模型进行微调,取决于您拥有的计算资源以及任务的特定需求。
    • 如果您有大量的微调数据(例如超过 10,000 样本),基础模型可能是您的首选。
    • 另一方面,如果您的微调数据量不是很充足,选择对话模型可能更合适。
    • 通常建议同时微调基础模型和对话模型,比较它们的性能,然后选择最符合您特定要求的模型。
  • 全量微调 Yi-34B 和 Yi-34B-Chat 有什么区别?
    对 Yi-34B 和 Yi-34B-Chat 进行全量微调的主要区别在于微调方法和结果。
    • Yi-34B-Chat 采用特殊微调(SFT)方法,生成的回复更接近人类对话风格。
    • 基础模型的微调更具通用性,具有相对较高的性能潜力。
    • 如果您对自己的数据质量有信心,微调 Yi-34B 可能是您的首选。
    • 如果您的目标是让模型生成的回复更好地模仿人类对话风格,或者您对自己的数据质量有疑虑,Yi-34B-Chat 可能是您的最佳选择。

💡量化

  • 量化模型与原始模型的性能差距有多大?
    • 性能差异很大程度上取决于所采用的量化方法以及这些模型的具体使用场景。例如,对于 AWQ 官方提供的模型,从基准测试的角度来看,量化可能会导致几个百分点的轻微性能下降。
    • 主观而言,在逻辑推理等场景中,即使 1% 的性能变化也可能影响输出结果的准确性。

💡通用问题

  • 哪里可以获取微调问答数据集?

    • 您可以在 Hugging Face 等平台上找到微调问答数据集,例如 m-a-p/COIG-CQIA 就是现成的。
    • 此外,Github 上也有微调框架,例如 hiyouga/LLaMA-Factory,其中集成了预制数据集。
  • 微调 Yi-34B FP16 需要多少 GPU 内存?
    微调 34B FP16 所需的 GPU 内存取决于所采用的具体微调方法。对于全参数微调,您需要 8 块各 80 GB 显存的 GPU;不过,像 Lora 这样更经济的方案所需内存更少。有关更多详细信息,请查看 hiyouga/LLaMA-Factory。另外,考虑使用 BF16 而非 FP16 进行微调以优化性能。

  • 是否有第三方平台支持 Yi-34b-200k 模型的对话功能?
    如果您正在寻找第三方对话平台,可选择 fireworks.ai。

学习中心

如果您想学习 Yi,这里有丰富的教育资源供您参考。⬇️

欢迎来到 Yi 学习中心!

无论您是经验丰富的开发者还是刚入门的新手,都能在这里找到丰富的教育资源,帮助您深入理解和熟练运用 Yi 模型,包括富有洞察力的博客文章、全面的视频教程、实用的操作指南等。

您在这里看到的内容,均由知识渊博的 Yi 专家和热情的爱好者慷慨贡献。我们对您的宝贵付出表示衷心的感谢!

同时,我们也热烈邀请您加入 Yi 的贡献者行列。如果您已经为 Yi 做出了贡献,欢迎在下方表格中展示您的杰出成果。

有了这些资源,您已准备好开启精彩的 Yi 探索之旅。祝您学习愉快!🥳

教程

博客教程
内容日期作者
使用 Dify、Meilisearch、零一万物模型实现最简单的 RAG 应用(三):AI 电影推荐2024-05-20苏洋
使用autodl服务器,在A40显卡上运行, Yi-34B-Chat-int4模型,并使用vllm优化加速,显存占用42G,速度18 words-s2024-05-20fly-iot
Yi-VL 最佳实践2024-05-20ModelScope
一键运行零一万物新鲜出炉Yi-1.5-9B-Chat大模型2024-05-13Second State
零一万物开源Yi-1.5系列大模型2024-05-13刘聪
零一万物Yi-1.5系列模型发布并开源! 34B-9B-6B 多尺寸,魔搭社区推理微调最佳实践教程来啦!2024-05-13ModelScope
Yi-34B 本地部署简单测试2024-05-13漆妮妮
驾辰龙跨Llama持Wasm,玩转Yi模型迎新春过大年(上)2024-05-13Words worth
驾辰龙跨Llama持Wasm,玩转Yi模型迎新春过大年(下篇)2024-05-13Words worth
Ollama新增两个命令,开始支持零一万物Yi-1.5系列模型2024-05-13AI工程师笔记
使用零一万物 200K 模型和 Dify 快速搭建模型应用2024-05-13苏洋
(持更) 零一万物模型折腾笔记:社区 Yi-34B 微调模型使用2024-05-13苏洋
Python+ERNIE-4.0-8K-Yi-34B-Chat大模型初探2024-05-11江湖评谈
技术布道 Vue及Python调用零一万物模型和Prompt模板(通过百度千帆大模型平台)2024-05-11MumuLab
多模态大模型Yi-VL-plus体验 效果很棒2024-04-27大家好我是爱因
使用autodl服务器,两个3090显卡上运行, Yi-34B-Chat-int4模型,并使用vllm优化加速,显存占用42G,速度23 words-s2024-04-27fly-iot
Getting Started with Yi-1.5-9B-Chat2024-04-27Second State
基于零一万物yi-vl-plus大模型简单几步就能批量生成Anki图片笔记2024-04-24正经人王同学
【AI开发:语言】一、Yi-34B超大模型本地部署CPU和GPU版2024-04-21My的梦想已实现
【Yi-34B-Chat-Int4】使用4个2080Ti显卡11G版本,运行Yi-34B模型,5年前老显卡是支持的,可以正常运行,速度 21 words-s,vllm要求算力在7以上的显卡就可以2024-03-22fly-iot
零一万物大模型部署+微调总结2024-03-22v_wus
零一万物Yi大模型vllm推理时Yi-34B或Yi-6bchat重复输出的解决方案2024-03-02郝铠锋
Yi-34B微调训练2024-03-02lsjlnd
实测零一万物Yi-VL多模态语言模型:能准确“识图吃瓜”2024-02-02苏洋
零一万物开源Yi-VL多模态大模型,魔搭社区推理&微调最佳实践来啦!2024-01-26ModelScope
单卡 3 小时训练 Yi-6B 大模型 Agent:基于 Llama Factory 实战2024-01-22郑耀威
零一科技Yi-34B Chat大模型环境搭建&推理2024-01-15要养家的程序员
基于LLaMA Factory,单卡3小时训练专属大模型 Agent2024-01-15机器学习社区
双卡 3080ti 部署 Yi-34B 大模型 - Gradio + vLLM 踩坑全记录2024-01-02漆妮妮
【大模型部署实践-3】3个能在3090上跑起来的4bits量化Chat模型(baichuan2-13b、InternLM-20b、Yi-34b)2024-01-02aq_Seabiscuit
只需 24G 显存,用 vllm 跑起来 Yi-34B 中英双语大模型2023-12-28漆妮妮
零一万物模型官方 Yi-34B 模型本地离线运行部署使用笔记(物理机和docker两种部署方式),200K 超长文本内容,34B 干翻一众 70B 模型,打榜分数那么高,这模型到底行不行?2023-12-28代码讲故事
LLM - 大模型速递之 Yi-34B 入门与 LoRA 微调2023-12-18BIT_666
通过vllm框架进行大模型推理2023-12-18土山炮
CPU 混合推理,非常见大模型量化方案:“二三五六” 位量化方案2023-12-12苏洋
零一万物模型折腾笔记:官方 Yi-34B 模型基础使用2023-12-10苏洋
Running Yi-34B-Chat locally using LlamaEdge2023-11-30Second State
本地运行零一万物 34B 大模型,使用 Llama.cpp & 21G 显存2023-11-26苏洋
GitHub 项目
内容日期作者
yi-openai-proxy2024-05-11苏洋
基于零一万物 Yi 模型和 B 站构建大语言模型高质量训练数据集2024-04-29正经人王同学
基于视频网站和零一万物大模型构建大语言模型高质量训练数据集2024-04-25正经人王同学
基于零一万物yi-34b-chat-200k输入任意文章地址,点击按钮即可生成无广告或推广内容的简要笔记,并生成分享图给好友2024-04-24正经人王同学
Food-GPT-Yi-model2024-04-21Hubert S
视频教程
交付成果日期作者
在物联网设备上运行 dolphin-2.2-yi-34b2023-11-30Second State
只需 24G 显存,用 vllm 跑起来 Yi-34B 中英双语大模型2023-12-28漆妮妮
本地安装 Yi 34B - 中英文双语大语言模型2023-11-05Fahd Mirza
Dolphin Yi 34b - 全新基础模型测试2023-11-27Matthew Berman
Yi-VL-34B 多模态大模型 - 用两张 A40 显卡跑起来2024-01-28漆妮妮
4060Ti 16G显卡安装零一万物最新开源的Yi-1.5版大语言模型2024-05-14titan909
Yi-1.5:真正能与 LLAMA-3 竞争的 Apache 2.0 模型2024-05-13Prompt Engineering
本地安装 Yi-1.5 模型 - 在多项基准测试中超越 Llama 32024-05-13Fahd Mirza
如何安装 Ollama 并运行 Yi 6B2024-05-13Ridaa Davids
地表最强混合智能AI助手:llama3_70B+Yi_34B+Qwen1.5_110B2024-05-04朱扎特
ChatDoc学术论文辅助--基于Yi-34B和langchain进行PDF知识库问答2024-05-03朱扎特
基于Yi-34B的领域知识问答项目演示2024-05-02朱扎特
使用RTX4090+GaLore算法 全参微调Yi-6B大模型2024-03-24小工蚂创始人
无内容审查NSFW大语言模型Yi-34B-Chat蒸馏版测试,RolePlay,《天龙八部》马夫人康敏,本地GPU,CPU运行2024-03-20刘悦的技术博客
无内容审查NSFW大语言模型整合包,Yi-34B-Chat,本地CPU运行,角色扮演潘金莲2024-03-16刘悦的技术博客
量化 Yi-34B-Chat 并在单卡 RTX 4090 使用 vLLM 部署2024-03-05白鸽巢
Yi-VL-34B(5):使用3个3090显卡24G版本,运行Yi-VL-34B模型,支持命令行和web界面方式,理解图片的内容转换成文字2024-02-27fly-iot
Win环境KoboldCpp本地部署大语言模型进行各种角色扮演游戏2024-02-25魚蟲蟲
无需显卡本地部署Yi-34B-Chat进行角色扮演游戏 P22024-02-23魚蟲蟲
【wails】(2):使用go-llama.cpp 运行 yi-01-6b大模型,使用本地CPU运行,速度还可以,等待下一版本更新2024-02-20fly-iot
【xinference】(6):在autodl上,使用xinference部署yi-vl-chat和qwen-vl-chat模型,可以使用openai调用成功2024-02-06fly-iot
无需显卡本地部署Yi-34B-Chat进行角色扮演游戏 P12024-02-05魚蟲蟲
2080Ti部署YI-34B大模型 xinference-oneapi-fastGPT本地知识库使用指南2024-01-30小饭护法要转码
最佳故事创作AI模型 - 在Windows本地安装 Yi 6B 200K2024-01-22Fahd Mirza
Mac 本地运行大语言模型方法与常见问题指南(Yi 34B 模型+32 GB 内存测试)2024-01-21小吴苹果机器人
【Dify知识库】(11):Dify0.4.9改造支持MySQL,成功接入yi-6b 做对话,本地使用fastchat启动,占8G显存,完成知识库配置2024-01-21fly-iot
这位LLM先生有点暴躁,用的是YI-6B的某个量化版,#LLM #大语言模型 #暴躁老哥2024-01-20晓漫吧
大模型推理 NvLink 桥接器有用吗|双卡 A6000 测试一下2024-01-17漆妮妮
大模型推理 A40 vs A6000 谁更强 - 对比 Yi-34B 的单、双卡推理性能2024-01-15漆妮妮
C-Eval 大语言模型评测基准- 用 LM Evaluation Harness + vLLM 跑起来2024-01-11漆妮妮
双显卡部署 Yi-34B 大模型 - vLLM + Gradio 踩坑记录2024-01-01漆妮妮
手把手教学!使用 vLLM 快速部署 Yi-34B-Chat2023-12-26白鸽巢
如何训练企业自己的大语言模型?Yi-6B LORA微调演示 #小工蚁2023-12-21小工蚂创始人
Yi-34B(4):使用4个2080Ti显卡11G版本,运行Yi-34B模型,5年前老显卡是支持的,可以正常运行,速度 21 words/s2023-12-02fly-iot
使用autodl服务器,RTX 3090 * 3 显卡上运行, Yi-34B-Chat模型,显存占用60G2023-12-01fly-iot
使用autodl服务器,两个3090显卡上运行, Yi-34B-Chat-int4模型,用vllm优化,增加 --num-gpu 2,速度23 words/s2023-12-01fly-iot
Yi大模型一键本地部署 技术小白玩转AI2023-12-01技术小白玩转AI
01.AI's Yi-6B: 概述与微调2023-11-28AI Makerspace
Yi 34B Chat LLM 性能超越 Llama 70B2023-11-27DLExplorer
如何在 Mac 上运行开源模型 Yi 34b on m3 Max2023-11-26TECHNO PREMIUM
Yi-34B - 200K - 最佳且最新的上下文窗口王者2023-11-24Prompt Engineering
Yi 34B:强大中型模型的崛起 - Base, 200k 与 Chat2023-11-24Sam Witteveen
在IoT设备运行破解版李开复大模型dolphin-2.2-yi-34b(还可作为私有OpenAI API服务器)2023-11-15Second State
在物联网设备上运行 dolphin-2.2-yi-34b(也可作为私有 OpenAI API 服务器)2023-11-14Second State
如何在 Windows 笔记本电脑上安装 Yi 34B 200K Llamafied2023-11-11Fahd Mirza

为何选择 Yi?

  • 生态系统
    • 上游
    • 下游
      • 部署服务
      • 量化
      • 微调
      • API
    • 基准测试
      • 对话模型性能
      • 基础模型性能
        • Yi-34B 与 Yi-34B-200K
        • Yi-9B

生态系统

Yi 拥有全面的生态系统,提供一系列工具、服务和模型,旨在丰富您的使用体验并提升工作效率。

  • 上游
  • 下游
    • 部署服务
    • 量化
    • 微调
    • API

上游

Yi 系列模型采用与 Llama 相同的模型架构。选择 Yi,您可以直接利用 Llama 生态系统中现有的工具、库和资源,无需重新开发新工具,从而提高开发效率。

例如,Yi 系列模型以 Llama 模型格式保存。您可以直接使用 LlamaForCausalLM 和 LlamaTokenizer 加载模型。更多信息,请参见使用对话模型。

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")

[ 返回顶部 ⬆️ ]

下游应用

💡 提示

  • 欢迎创建 PR,分享您使用 Yi 系列模型构建的出色成果。

  • 为帮助他人快速了解您的工作,建议使用 <model-name>: <model-intro> + <model-highlights> 的格式。

模型部署

如果您希望在几分钟内开始使用 Yi,可借助以下基于 Yi 构建的服务。

  • Yi-34B-Chat:您可以通过以下平台与 Yi 进行对话:

    • Yi-34B-Chat | Hugging Face
    • Yi-34B-Chat | Yi 平台:注意 目前该平台仅对白名单用户开放。欢迎申请(填写 英文 或 中文 表单)并亲身体验!
  • Yi-6B-Chat (Replicate):您可以通过设置额外参数和调用 API,使用更多选项来运行此模型。

  • ScaleLLM:您可以使用此服务在本地运行 Yi 模型,具有更高的灵活性和可定制性。

量化

如果您的计算资源有限,可以按以下方式使用 Yi 的量化模型。

这些量化模型降低了精度,但提高了效率,例如更快的推理速度和更低的内存占用。

  • TheBloke/Yi-34B-GPTQ
  • TheBloke/Yi-34B-GGUF
  • TheBloke/Yi-34B-AWQ

微调

如果您希望探索 Yi 繁荣生态中的多样化能力,可以深入了解以下 Yi 的微调模型。

  • TheBloke Models:该网站托管了众多基于包括 Yi 在内的各种 LLM 微调的模型。

    这并非 Yi 的完整列表,以下是部分按下载量排序的模型:

    • TheBloke/dolphin-2_2-yi-34b-AWQ
    • TheBloke/Yi-34B-Chat-AWQ
    • TheBloke/Yi-34B-Chat-GPTQ
  • SUSTech/SUS-Chat-34B:该模型在所有 70B 以下模型中排名第一,性能优于 twice larger 的 deepseek-llm-67b-chat。您可以在 Open LLM Leaderboard 上查看结果。

  • OrionStarAI/OrionStar-Yi-34B-Chat-Llama:在 OpenCompass LLM Leaderboard 的 C-Eval 和 CMMLU 评估中,该模型表现优于其他模型(如 GPT-4、Qwen-14B-Chat、Baichuan2-13B-Chat)。

  • NousResearch/Nous-Capybara-34B:该模型在 Capybara 数据集上以 200K 上下文长度和 3 个 epoch 进行训练。

API

  • amazing-openai-api:此工具可将 Yi 模型 API 直接转换为 OpenAI API 格式。
  • LlamaEdge:此工具利用 Rust 技术,通过可移植的 Wasm(WebAssembly)文件为 Yi-34B-Chat 构建兼容 OpenAI 的 API 服务器。

[ 返回顶部 ⬆️ ]

技术报告

有关 Yi 系列模型的详细能力,请参见 Yi: Open Foundation Models by 01.AI。

引用

@misc{ai2024yi,
    title={Yi: Open Foundation Models by 01.AI},
    author={01. AI and : and Alex Young and Bei Chen and Chao Li and Chengen Huang and Ge Zhang and Guanwei Zhang and Heng Li and Jiangcheng Zhu and Jianqun Chen and Jing Chang and Kaidong Yu and Peng Liu and Qiang Liu and Shawn Yue and Senbin Yang and Shiming Yang and Tao Yu and Wen Xie and Wenhao Huang and Xiaohui Hu and Xiaoyi Ren and Xinyao Niu and Pengcheng Nie and Yuchi Xu and Yudong Liu and Yue Wang and Yuxuan Cai and Zhenyu Gu and Zhiyuan Liu and Zonghong Dai},
    year={2024},
    eprint={2403.04652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}

基准测试

  • 对话模型性能
  • 基础模型性能

对话模型性能

Yi-34B-Chat模型表现出卓越性能,在MMLU、CMMLU、BBH、GSM8k等多项基准测试中,均位列所有现有开源模型之首。

对话模型性能

评估方法与挑战。⬇️
  • 评估方法:除TruthfulQA外,我们采用零样本(zero-shot)和少样本(few-shot)两种方法对各类基准测试进行了评估。
  • 零样本与少样本:在对话模型中,零样本方法更为常用。
  • 评估策略:我们的评估策略包括在明确或隐含遵循指令(例如使用少样本示例)的前提下生成响应,然后从生成文本中提取相关答案。
  • 面临的挑战:部分模型难以按照少数数据集指令要求的特定格式生成输出,从而导致结果欠佳。

*:C-Eval结果基于验证数据集进行评估

基础模型性能

Yi-34B 与 Yi-34B-200K

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

基础模型性能

评估方法。⬇️
  • 结果差异:在对开源模型进行基准测试时,我们的评估结果与OpenCompass等公开来源报告的结果存在差异。
  • 调查发现:深入调查显示,不同模型间的提示词、后处理策略以及采样技术的差异可能导致结果出现显著不同。
  • 统一基准测试流程:我们的方法与原始基准测试保持一致——使用统一的提示词和后处理策略,评估过程中采用贪婪解码,且不对生成内容进行任何后处理。
  • 获取未报告分数的努力:对于原作者未报告的分数(包括在不同设置下报告的分数),我们尝试通过我们的评估流程获取结果。
  • 全面的模型评估:为全面评估模型能力,我们采用了Llama2中概述的方法。具体而言,我们纳入了PIQA、SIQA、HellaSwag、WinoGrande、ARC、OBQA和CSQA以评估常识推理能力;纳入了SQuAD、QuAC和BoolQ以评估阅读理解能力。
  • 特殊配置:CSQA专门采用7-shot设置进行测试,其他所有测试均采用0-shot配置。此外,我们在“数学与代码”类别下引入了GSM8K(8-shot@1)、MATH(4-shot@1)、HumanEval(0-shot@1)和MBPP(3-shot@1)。
  • Falcon-180B 说明:由于技术限制,Falcon-180B未在QuAC和OBQA上进行测试。其性能分数为其他任务的平均值,考虑到这两项任务的分数通常较低,Falcon-180B的能力可能未被低估。

Yi-9B

Yi-9B在一系列同规模开源模型(包括Mistral-7B、SOLAR-10.7B、Gemma-7B、DeepSeek-Coder-7B-Base-v1.5等)中几乎表现最佳,尤其在代码、数学、常识推理和阅读理解方面表现突出。

Yi-9B 基准测试 - 详情

  • 在整体能力(Mean-All)方面,Yi-9B在同规模开源模型中表现最佳,超过了DeepSeek-Coder、DeepSeek-Math、Mistral-7B、SOLAR-10.7B和Gemma-7B。

    Yi-9B 基准测试 - 整体

  • 在编码能力(Mean-Code)方面,Yi-9B的性能仅次于DeepSeek-Coder-7B,超过了Yi-34B、SOLAR-10.7B、Mistral-7B和Gemma-7B。

    Yi-9B 基准测试 - 代码

  • 在数学能力(Mean-Math)方面,Yi-9B的性能仅次于DeepSeek-Math-7B,超过了SOLAR-10.7B、Mistral-7B和Gemma-7B。

    Yi-9B 基准测试 - 数学

  • 在常识与推理能力(Mean-Text)方面,Yi-9B的性能与Mistral-7B、SOLAR-10.7B和Gemma-7B相当。

    Yi-9B 基准测试 - 文本

[ 返回顶部 ⬆️ ]

谁可以使用 Yi?

所有人都可以!🙌 ✅

Yi 系列模型的代码和权重遵循 Apache 2.0 许可证 进行分发,这意味着 Yi 系列模型可免费用于个人用途、学术研究以及商业应用。

[ 返回顶部 ⬆️ ]

其他

致谢

衷心感谢每一位为 Yi 社区做出贡献的人!是你们的努力让 Yi 不仅仅是一个项目,更成为了一个充满活力、不断成长的创新家园。

yi contributors

[ 返回顶部 ⬆️ ]

免责声明

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

[ 返回顶部 ⬆️ ]

许可证

Yi-1.5 系列模型的代码和权重遵循 Apache 2.0 许可证 进行分发。

如果您基于此模型创建衍生作品,请在您的衍生作品中包含以下归属声明:

本作品是基于 01.AI 的 [您所基于的 Yi 系列模型] 创作的衍生作品,使用遵循 Apache 2.0 许可证。

[ 返回顶部 ⬆️ ]