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

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

🤗 Hugging Face • 🤖 ModelScope • ✡️ WiseModel

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

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

📝 查看 Yi 技术报告

📚 在 Yi 学习中心 共同成长


📕 目录
  • 什么是 Yi?
    • 简介
    • 模型
      • 对话模型
      • 基础模型
      • 模型信息
    • 最新动态
  • 如何使用 Yi?
    • 快速开始
      • 选择你的方式
      • pip
      • docker
      • llama.cpp
      • conda-lock
      • Web 演示
    • 微调
    • 量化
    • 部署
    • 常见问题
    • 学习中心
  • 为什么选择 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 Leaderboard(预训练模型)和 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% 的优异成绩。我们持续使用50亿 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 开源并向公众开放。
首次公开发布包含两个中英双语基础模型,参数规模分别为60亿和340亿。两者均以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

第二步:下载 Yi 模型

您可以从以下来源下载 Yi 模型的权重和分词器:

  • Hugging Face
  • ModelScope
  • WiseModel

第三步:进行推理

您可以按照以下方式使用 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 版本起,GPT-Q/AWQ 模型可通过 AutoModelForCausalLM 加载。
    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-mount-path>',而不是 model_path = '<your-model-path>'。

使用 Yi 基础模型进行推理

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

注意,唯一的区别是设置 --model <your-model-mount-path>',而不是 model <your-model-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. 在提示窗口中输入一个问题,例如“How do you feed your pet fox? Please answer this question in 6 simple steps”,您将收到相应的回答。

    Ask a question to Yi model - llama.cpp

[ 返回顶部 ⬆️ ]

Web 演示

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

步骤 1:准备环境。

步骤 2:下载 Yi 模型。

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

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

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

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。Hugging Face 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 做出了贡献,欢迎在下方表格中展示您的出色成果。

有了这些资源,您就可以开启激动人心的 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
视频教程
交付成果日期作者
Run dolphin-2.2-yi-34b on IoT Devices2023-11-30Second State
只需 24G 显存,用 vllm 跑起来 Yi-34B 中英双语大模型2023-12-28漆妮妮
Install Yi 34B Locally - Chinese English Bilingual LLM2023-11-05Fahd Mirza
Dolphin Yi 34b - Brand New Foundational Model TESTED2023-11-27Matthew Berman
Yi-VL-34B 多模态大模型 - 用两张 A40 显卡跑起来2024-01-28漆妮妮
4060Ti 16G显卡安装零一万物最新开源的Yi-1.5版大语言模型2024-05-14titan909
Yi-1.5: True Apache 2.0 Competitor to LLAMA-32024-05-13Prompt Engineering
Install Yi-1.5 Model Locally - Beats Llama 3 in Various Benchmarks2024-05-13Fahd Mirza
how to install Ollama and run 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小饭护法要转码
Best Story Writing AI Model - Install Yi 6B 200K Locally on Windows2024-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: Overview and Fine-Tuning2023-11-28AI Makerspace
Yi 34B Chat LLM outperforms Llama 70B2023-11-27DLExplorer
How to run open source models on mac Yi 34b on m3 Max2023-11-26TECHNO PREMIUM
Yi-34B - 200K - The BEST & NEW CONTEXT WINDOW KING 2023-11-24Prompt Engineering
Yi 34B : The Rise of Powerful Mid-Sized Models - Base,200k & Chat2023-11-24Sam Witteveen
在IoT设备运行破解版李开复大模型dolphin-2.2-yi-34b(还可作为私有OpenAI API服务器)2023-11-15Second State
Run dolphin-2.2-yi-34b on IoT Devices (Also works as a Private OpenAI API Server)2023-11-14Second State
How to Install Yi 34B 200K Llamafied on Windows Laptop2023-11-11Fahd Mirza

为什么选择Yi?

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

生态系统

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

  • 上游
  • 下游
    • 模型部署
    • 量化
    • 微调
    • 编程接口

上游

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-6B-Chat (Replicate):您可以通过设置额外参数和调用 API,使用更多选项来运行此模型。

  • ScaleLLM:您可以使用此服务在本地运行 Yi 模型,获得更高的灵活性和自定义空间。

量化模型

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

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

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

微调模型

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

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

    这里并未列出 Yi 的所有微调模型,仅列举部分下载量较高的模型:

    • TheBloke/dolphin-2_2-yi-34b-AWQ
    • TheBloke/Yi-34B-Chat-AWQ
    • TheBloke/Yi-34B-Chat-GPTQ
  • SUSTech/SUS-Chat-34B:该模型在所有 70B 以下模型中排名第一,性能超过了规模两倍于它的 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 数据集上以 20 万上下文长度训练了 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 许可证。

[ 返回顶部 ⬆️ ]