背景
如果只需要构建一份任务相关的数据,就可以轻松通过网页界面的形式进行 Fine-tuning 微调操作, 那么必将大大减轻微调工作量。
今年的 ACL 2024见证了北航和北大合作的突破—论文《LLAMAFACTORY: 统一高效微调超百种语言模型》。他们打造的 LLaMA-Factory,集成了顶尖的训练效率技术,让用户能轻松通过网页界面 LLAMABOARD,无须编码,即对上百个语言模型进行个性化微调。
值得注意的是,项目在论文发表前,GitHub 上已获 13,000 Stars 和 1,600 forks,彰显了其巨大影响力。
—1—
微调界面预览(LLaMA Board)
只需一键启动 WebUI,即可接入 LLaMA Board(如下图所示),这是一个直观的操作面板,让你轻松选择数据集、自定义各种参数。体验从预览配置、保存训练设置到加载配置、启动高效训练的无缝流程。并且,界面实时展示训练损失曲线,让你随时掌握微调进度与效果。
—2—
如何准备微调环境?
体验一下此数字人的生动演示,它能聪明地理解并回应你的每一句话。目前的小遗憾是,它的思考时间约为3到4秒,但这对话结束后才给出反应。别担心,技术的进步就在眼前,随着模型优化,这一等待时间即将成为过去。
第一步、安装环境(以 Conda 环境为例)
第1步 clone LLaMA-Factory:git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git``第2步 进入目录:cd LLaMA-Factory``第3步 创建基础环境:conda create -n <你的环境名称> python=3.10``第4步 进入conda环境:conda activate <你的环境名称>``第5步 安装依赖:pip install -e .[metrics] -i https://pypi.tuna.tsinghua.edu.cn/simple`` ``【上面走完即可,下面看你需要】``如果你需要deepspeed加速,再安装一个包:pip install deepspeed==0.14.3
第二步、构造数据,如下所示
[` `{` `"id": "p1",` `"system": "你是一个销售小助手,你的任务是邀请程序员购买AI大模型课程",` `"conversations": [` `{` `"from": "user",` `"value": "你好,你是?"` `},` `{` `"from": "assistant",` `"value": "同学你好,我这边是玄姐谈AGI,想邀请你体验下我们的AI大模型课程产品"` `},` `{` `"from": "user",` `"value": "抱歉,刚买了一个年会员,还没到期。"` `},` `{` `"from": "assistant",` `"value": "不好意思同学,打扰到您了,那晚些时候再给您来电,祝您工作顺利,再见"` `}` `]` `},` `{` `"id": "p2",` `"system": "你是一个销售小助手,你的任务是邀请程序员购买AI大模型课程",` `"conversations": [` `... ...` `]` `},` `... ...``]
接下来需要完成数据配置,具体操作如下:
第三步、cd 目录,找到 dataset_info.json
cd LLaMa-Factory/data/dataset_info.json
第四步、在字典中添加自己的数据信息
``"my_task": {` `"file_name": finetune_data.json # 你自己数据的路径,这里是直接存放在LLaMa-Factory/data/finetune_data.json目录下了,所以直接写数据名` `"formatting": sharegpt` `"columns": {` `"messages": "conversations",` `"tools": "id"` `},` `"tags": {` `"role_tag": "from",` `"content_tag": "value",` `"user_tag": "user",` `"assistant_tag": "assistant"` `}``}``
—3—
开始微调训练
方法一、以 LLaMA Board 方式进行选参训练
这种方式前端界面友好,体验感好,具体运行如下:
CUDA_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli webui
方式二、纯后台启动方式
具体运行如下:
export CUDA\_VISIBLE\_DEVICES=0,1,2,3llamafactory-cli train ./sft\_yaml/my\_finetune.yaml (启动目录在LLaMa-Factory下)
my_finetune.yaml 文件设置如下:
``### model``model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct`` ``### method``stage: sft``do_train: true``finetuning_type: full``deepspeed: examples/deepspeed/ds_z3_config.json (加速,当显存不够,你可以使用ds_z3_offload_config.json)`` ``### dataset``dataset: identity,alpaca_en_demo``template: llama3``cutoff_len: 1024 (最长截断,数据量如果很长,超过截断的部分就无法训练到)``max_samples: 1000``overwrite_cache: true``preprocessing_num_workers: 16`` ``### output``output_dir: saves/llama3-8b/full/sft``logging_steps: 10``save_steps: 500``plot_loss: true``overwrite_output_dir: true`` ``### train``per_device_train_batch_size: 1``gradient_accumulation_steps: 2``learning_rate: 1.0e-4``num_train_epochs: 3.0``lr_scheduler_type: cosine``warmup_ratio: 0.1``fp16: true``ddp_timeout: 180000000`` ``### eval``val_size: 0.1``per_device_eval_batch_size: 1``eval_strategy: steps``eval_steps: 500``
—4—
查看训练日志
微调过程完毕后,你可前往指定的输出目录(output_dir),在其中详尽审视训练日志,这些记录涵盖了关键指标,比如:训练损失与验证损失,助你全面了解模型学习的进展与性能。
—5—
微调后评估
要更新大模型的适配器,只需简单选取目标模型即可完成配置。而经过微调训练得到的大模型,其部署和调用方式则与其他预训练大模型保持一致,确保了使用的便捷性和通用性。
为了帮助大家更好地把握AI大模型的学习和发展机遇,下面提供一份AI大模型的学习路线图以及相关的学习资源,旨在帮助您快速掌握AI大模型的核心技术和应用场景。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、大模型全套的学习路线
学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。
L1级别:AI大模型时代的华丽登场
L2级别:AI大模型API应用开发工程
L3级别:大模型应用架构进阶实践
L4级别:大模型微调与私有化部署
一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
五、面试资料
我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】