HuggingFace镜像/Smaug-72B-v0.1
模型介绍文件和版本分析
下载使用量0

image/png

image/png

Smaug 降临!

我们最近发布了 Smaug-72B-v0.1,该模型在 HuggingFace 的 Open LLM Leaderboard 上名列第一。它是首个平均得分超过 80% 的开源模型。

Smaug-72B 直接从 moreh/MoMo-72B-lora-1.8.7-DPO 微调而来,最终基于 Qwen-72B。

我们使用了一种新的微调技术 DPO-Positive (DPOP) 和新的成对偏好版本的 ARC、HellaSwag 和 MetaMath(以及其他现有数据集)创建了 Smaug-72B-v0.1。我们在新论文中介绍了该技术和完整的训练细节:https://arxiv.org/abs/2402.13228。

我们发现,在成对完成之间的编辑距离较低的数据集(如基于数学的数据集)中,标准的 DPO 损失可能会导致模型对首选示例的概率降低,只要首选和非首选类别之间的相对概率增加即可。基于这些见解,我们设计了 DPOP,这是一种新的损失函数和训练过程,可以避免这种失败模式。令人惊讶的是,我们还发现 DPOP 在各种数据集和下游任务中均优于 DPO,包括完成之间编辑距离较高的数据集。

我们相信这种新方法在训练各种模型类型和下游用例中具有普遍适用性,并且它支撑了我们所有的 Smaug 模型。随着我们论文和数据集的发布,我们期待开源社区继续构建和改进 Smaug,并孵化更多龙族来主导 LLM 领域!

评估结果

平均ARCHellaSwagMMLUTruthfulQAWinograndeGSM8K
80.4876.0289.2777.1576.6785.0878.70

MT-Bench

我们使用 llama-2 对话模板和 Qwen 系统提示运行了 MT-Bench。我们在单模型模式下得到了以下结果:

第一轮第二轮平均
8.187.347.76

卡片底部包含一些模型样本响应。我们选择了 GPT-4 评判中得分高和低的响应。

污染结果

我们使用 https://github.com/swj0419/detect-pretrain-code-contamination/tree/master 生成了污染数字,参考模型为 Llama7B。Smaug-72B 的结果如下:

ARCTruthfulQAGSM8K
0.200.451.00

相比之下,MoMo-72B-lora-1.8.7-DPO 的结果如下:

ARCTruthfulQAGSM8K
0.200.391.00

请注意,GSM8K 在此污染套件中通常得分非常高——我们通过运行 Llama-2-70B 验证了这一点:

ARCTruthfulQAGSM8K
0.220.510.89

样本 MT Bench 结果

示例 1

问题

想象你正在撰写一篇比较两款流行智能手机型号的博客文章。请为博客文章制定一个提纲,包括关键点和子标题,以有效比较和对比两款型号的功能、性能和用户体验。请在 200 字以内回答。

回答

提纲:

  1. 介绍被比较的两款智能手机型号(提及品牌名称和型号)
  2. 设计和建造质量
    • 比较尺寸、重量、使用的材料和整体美学吸引力
    • 防水和防尘性能(如果适用)
  3. 显示和屏幕质量
    • 比较屏幕技术(OLED、IPS LCD 等)
    • 显示分辨率、刷新率和亮度水平
  4. 性能和硬件
    • 处理器、RAM 和存储配置
    • 比较基准分数(如 AnTuTu、Geekbench)
  5. 相机系统和图像质量
    • 比较主摄像头、超广角、长焦和微距镜头(如果可用)
    • 比较低光性能和图像处理能力
  6. 电池续航和充电
    • 电池容量和估计使用时间
    • 充电技术(有线、无线、快充、反向充电)
  7. 软件和用户体验
    • 比较操作系统(iOS vs. Android)及其功能
    • 用户界面、自定义选项和应用生态系统
  8. 附加功能和额外功能
    • 比较生物识别认证(指纹、面部解锁等)
    • 附加功能如 NFC、5G 连接和音频质量
  9. 定价和性价比
    • 比较零售价格和当前优惠
    • 根据功能和性能评估整体价值
  10. 结论和基于用户偏好的潜在买家推荐

示例 2

问题

在一所当地高中的调查中,测量了学生对新学校颜色的偏好:58% 的学生喜欢蓝色,45% 的学生喜欢绿色,22% 的学生喜欢两种颜色。如果我们从学校随机选择一名学生,他们既不喜欢蓝色也不喜欢绿色的概率是多少?

回答

要找到随机选择的学生既不喜欢蓝色也不喜欢绿色的概率,我们需要找到喜欢一种颜色或两种颜色都不喜欢的学生的百分比。

根据给定的信息,我们知道:

  • 58% 喜欢蓝色
  • 45% 喜欢绿色
  • 22% 喜欢两种颜色

要找到只喜欢一种颜色的学生的百分比,我们可以从喜欢蓝色和绿色的学生的总和中减去喜欢两种颜色的学生的百分比:

  • 58%(蓝色)+ 45%(绿色)- 22%(两种颜色)= 83%

现在,要找到既不喜欢蓝色也不喜欢绿色的学生的概率,我们从 100% 中减去至少喜欢一种颜色的学生的百分比:

  • 100% - 83% = 17%

因此,随机选择的学生既不喜欢蓝色也不喜欢绿色的概率是 17%。

示例 3

问题

实现一个程序,在不使用任何额外数据结构的情况下,找到两个数组中的共同元素。

回答

在不使用额外数据结构的情况下,找到两个数组中的共同元素可以通过一个简单的算法实现。以下是该问题的 Python 实现:

def find_common_elements(arr1, arr2):
    common_elements = []
    for num1 in arr1:
        if num1 in arr2 and num1 not in common_elements:
            common_elements.append(num1)
    return common_elements

# Example usage:
array1 = [1, 2, 3, 4, 5]
array2 = [4, 5, 6, 7, 8]
print(find_common_elements(array1, array2))  # Output: [4, 5]

这个程序遍历第一个数组(arr1)的元素,并检查每个元素是否存在于第二个数组(arr2)中。如果存在,并且该元素尚未被添加到common_elements列表中,则将其追加。然后,函数返回公共元素的列表。

示例 4

问题

识别给定新闻文章中提到的命名实体(人物、组织、地点)。 请生成一个JSON字典,根据实体类型将命名实体分为三组。 键是实体类型,值是字符串列表。

昨天,Faraday的CEO Adamson Emerson和Daimler AG的CEO Dieter Zetsche宣布计划在柏林建造一个新的Gigafactory。该设施将是Faraday和Daimler的合资企业,为两家公司生产电动汽车和电池组,为该地区创造数千个就业机会。Emerson和Zetsche表示,柏林的战略位置、熟练的劳动力和强大的基础设施使其成为扩张的理想选择。新的Gigafactory旨在满足欧洲对电动汽车日益增长的需求,并为可持续发展做出贡献。大众汽车CEO Herbert Diess对这一消息表示欢迎,称更大的合作将有利于汽车行业向电动化的转型。

答案

{
  "People": ["Adamson Emerson", "Dieter Zetsche", "Herbert Diess"],
  "Organizations": ["Faraday", "Daimler AG", "Volkswagen"],
  "Locations": ["Berlin"]
}
{
  "people": ["Adamson Emerson", "Dieter Zetsche", "Herbert Diess"],
  "organizations": ["Faraday", "Daimler AG", "Volkswagen"],
  "locations": ["Berlin", "Europe"]
}

引用

如果您使用了本仓库中的数据、模型或方法,请引用该论文。

@article{pal2024smaug,
  title={Smaug: Fixing Failure Modes of Preference Optimisation with DPO-Positive},
  author={Pal, Arka and Karkhanis, Deep and Dooley, Samuel and Roberts, Manley and Naidu, Siddartha and White, Colin},
  journal={arXiv preprint arXiv:2402.13228},
  year={2024}
}

使用指南

安装

  1. 下载:从 官方网站 下载最新版本的 installer.exe。
  2. 运行:双击 installer.exe 并按照屏幕上的指示完成安装。
  3. 配置:安装完成后,打开 config.json 文件进行必要的配置。

配置

config.json 文件

{
  "api_key": "your_api_key_here",
  "database": {
    "host": "localhost",
    "port": 3306,
    "username": "root",
    "password": "your_password_here"
  },
  "logging": {
    "level": "info",
    "file": "app.log"
  }
}

参数说明

  • api_key:您的 API 密钥。
  • database:数据库连接信息。
    • host:数据库主机地址。
    • port:数据库端口。
    • username:数据库用户名。
    • password:数据库密码。
  • logging:日志配置。
    • level:日志级别(debug, info, warning, error)。
    • file:日志文件路径。

运行

  1. 启动:在终端中运行 start.bat 或 start.sh 启动应用程序。
  2. 监控:使用 monitor.py 脚本监控应用程序的运行状态。

常见问题

无法连接数据库

  • 检查配置:确保 config.json 中的数据库配置正确。
  • 网络问题:检查数据库服务器是否可达。

API 请求失败

  • API 密钥:确认 api_key 是否有效。
  • 网络问题:检查网络连接是否正常。

支持

如需帮助,请联系我们的支持团队:support@example.com。