码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Llama3 中文通用 Agent 微调模型来啦!(附手把手微调实战教程)


    节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。

    基于大家的讨论和大模型实践,我们写了:

    《大模型面试宝典》(2024版) 发布!
    《大模型实战宝典》(2024版) 发布!


    Llama3模型在4月18日公布后,国内开发者对Llama3模型进行了很多训练和适配,除了中文纯文本模型外,多模态版本也陆续在发布中。

    考虑到国内用户对Agent场景的需求,社区LLM&AIGC模型微调推理框架SWIFT基于Llama3-8b-instruct原始版本训练了通用中文模型,并保留且适配了中文Agent能力,这是开源社区中率先完整适配中文环境的通用Agent Llama3模型,后续会有更完整的评测报告产出。

    使用方式

    推荐用户直接使用swift进行推理或部署:

    # 安装依赖
    pip install ms-swift -U
    
    • 1
    • 2
    # 推理
    swift infer --model_type llama3-8b-instruct --model_id_or_path swift/Llama3-Chinese-8B-Instruct-Agent-v1
    
    • 1
    • 2
    # 部署
    swift deploy --model_type llama3-8b-instruct --model_id_or_path swift/Llama3-Chinese-8B-Instruct-Agent-v1
    
    • 1
    • 2

    下面介绍如何使用SWIFT框架训练Llama3中文Agent模型

    环境准备

    我们使用框架SWIFT进行模型训练,开发者如果希望训练Llama3中文版本可以参考下面的安装方式:

    pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
    # 安装ms-swift
    git clone https://github.com/modelscope/swift.git
    cd swift
    pip install -e '.[llm]'
    # 环境对齐 (通常不需要运行. 如果你运行错误, 可以跑下面的代码, 仓库使用最新环境测试)
    pip install -r requirements/framework.txt  -U
    pip install -r requirements/llm.txt  -U
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    技术交流&资料

    技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。

    成立了大模型面试和技术交流群,相关资料、技术交流&答疑,均可加我们的交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

    方式①、微信搜索公众号:机器学习社区,后台回复:加群
    方式②、添加微信号:mlc2040,备注:来自CSDN + 技术交流

    通俗易懂讲解大模型系列

    • 重磅消息!《大模型面试宝典》(2024版) 正式发布!

    • 重磅消息!《大模型实战宝典》(2024版) 正式发布!

    • 做大模型也有1年多了,聊聊这段时间的感悟!

    • 用通俗易懂的方式讲解:大模型算法工程师最全面试题汇总

    • 用通俗易懂的方式讲解:不要再苦苦寻觅了!AI 大模型面试指南(含答案)的最全总结来了!

    • 用通俗易懂的方式讲解:我的大模型岗位面试总结:共24家,9个offer

    • 用通俗易懂的方式讲解:大模型 RAG 在 LangChain 中的应用实战

    • 用通俗易懂的方式讲解:ChatGPT 开放的多模态的DALL-E 3功能,好玩到停不下来!

    • 用通俗易懂的方式讲解:基于扩散模型(Diffusion),文生图 AnyText 的效果太棒了

    • 用通俗易懂的方式讲解:在 CPU 服务器上部署 ChatGLM3-6B 模型

    • 用通俗易懂的方式讲解:ChatGLM3-6B 部署指南

    • 用通俗易懂的方式讲解:使用 LangChain 封装自定义的 LLM,太棒了

    • 用通俗易懂的方式讲解:基于 Langchain 和 ChatChat 部署本地知识库问答系统

    • 用通俗易懂的方式讲解:Llama2 部署讲解及试用方式

    • 用通俗易懂的方式讲解:一份保姆级的 Stable Diffusion 部署教程,开启你的炼丹之路

    • 用通俗易懂的方式讲解:LlamaIndex 官方发布高清大图,纵览高级 RAG技术

    • 用通俗易懂的方式讲解:为什么大模型 Advanced RAG 方法对于AI的未来至关重要?

    • 用通俗易懂的方式讲解:基于 Langchain 框架,利用 MongoDB 矢量搜索实现大模型 RAG 高级检索方法

    准备

    在这里插入图片描述

    训练使用8卡进行,环境准备完成后,只需要如下命令即可开启训练:

    NPROC_PER_NODE=8 \
    swift sft \
      --model_type llama3-8b-instruct \
      --dataset ms-agent-for-agentfabric-default alpaca-en ms-bench ms-agent-for-agentfabric-addition coig-cqia-ruozhiba coig-cqia-zhihu coig-cqia-exam coig-cqia-chinese-traditional coig-cqia-logi-qa coig-cqia-segmentfault coig-cqia-wiki \
      --batch_size 2 \
      --max_length 2048 \
      --use_loss_scale true \
      --gradient_accumulation_steps 16 \
      --learning_rate 5e-5 \
      --use_flash_attn true \
      --eval_steps 500 \
      --save_steps 500 \
      --train_dataset_sample -1 \
      --dataset_test_ratio 0.1 \
      --val_dataset_sample 10000 \
      --num_train_epochs 2 \
      --check_dataset_strategy none \
      --gradient_checkpointing true \
      --weight_decay 0.01 \
      --warmup_ratio 0.03 \
      --save_total_limit 2 \
      --logging_steps 10 \
      --sft_type lora \
      --lora_target_modules ALL \
      --lora_rank 8 \
      --lora_alpha 32
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    为了提高ReACT格式的准确率,我们将部分loss字段的权重提高以保留中文训练中的agent能力表现。

    推理效果

    该模型具备良好的中文问答能力,示例如下:

    通用问答:

    图片

    图片

    逻辑题:

    图片

    图片

    图片

    对联:

    图片

    藏头诗:

    图片

    古文翻译:

    图片

    代码能力:

    图片

    评测

    我们使用swift的eval命令对训练模型的前后进行了通用能力评测,结果如下:

    在这里插入图片描述

    英文GSM8K能力下降了8个点左右,经过消融实验我们发现去掉alpaca-en语料会导致GSM8K下降至少十个点以上。

    我们在服务部署后,可以在AgentFabric中校验其接口调用效果,以天气查询为例,可以看到:

    图片

    图片

    模型可以按照system要求对查询进行补全。

    文生图

    图片

    图片解释

    图片

    图片

    图片

    图片

  • 相关阅读:
    机器学习、深度学习相关的项目集合【自行选择即可】
    Java-1129
    如何在 Xamarin 中快速集成 Android 版认证服务 - 邮箱地址篇
    若依微服务如何处理Long类型精度丢失问题?
    Java 多线程(五):锁(三)
    mybatis的test坑(不等于‘‘ 且 不等于0)
    HDU1232 畅通工程(并查集)
    举个栗子~Minitab 技巧(3):用分组条形图快速对比数据
    吐血整理,服务端性能测试-Docker部署MySQL/Nginx(详细步骤)
    Java 并发编程面试题——并发 List 与并发 Set
  • 原文地址:https://blog.csdn.net/2301_78285120/article/details/138170482
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号