8 篇文章带有标签 “Fine-Tuning”

华为 Atlas A2 上使用 LLaMA-Factory 模型微调

  • 云资源
    • ModelArts
      • 开发环境
        • Notebook
  • 自定义镜像:llama2
  • 类型:ASCEND
  • 规格:Ascend: 8*Ascend910 ARM: 192核 768GB
  • 存储配置:云硬盘EVS
    • 磁盘规格:200GB

工作目录:/home/ma-user/work

pip install --upgrade modelscope

编辑 download.py 文件

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen1.5-7B-Chat')
export MODELSCOPE_CACHE=/home/ma-user/work
python download.py
ll /home/ma-user/work/hub/Qwen/Qwen1___5-7B-Chat

修改配置文件:Qwen/Qwen1___5-7B-Chat/config.json

{
  "torch_dtype": "float16",
}

NPU 不支持 bfloat16,模型配置文件需要修改为 float16

git clone https://github.com/hiyouga/LLaMA-Factory

❌ 网络不稳定,多试几次。

SWIFT: Scalable lightWeight Infrastructure for Fine-Tuning

SWIFT 支持近200种LLM和MLLM(多模态大模型)的训练、推理、评测和部署。开发者可以直接将我们的框架应用到自己的Research和生产环境中,实现模型训练评测到应用的完整链路。我们除支持了PEFT提供的轻量训练方案外,也提供了一个完整的Adapters库以支持最新的训练技术,如NEFTune、LoRA+、LLaMA-PRO等,这个适配器库可以脱离训练脚本直接使用在自己的自定流程中。

git clone https://github.com/modelscope/swift.git
cd swift
pip install -e '.[llm]'

['chinese-alpaca-2-13b-16k', 'chinese-alpaca-2-13b', 'chinese-alpaca-2-7b-64k', 'chinese-alpaca-2-7b-16k', 'chinese-alpaca-2-7b', 'chinese-alpaca-2-1_3b', 'chinese-llama-2-13b-16k', 'chinese-llama-2-13b', 'chinese-llama-2-7b-64k&#3

使用大型语言模型微调命名实体识别

定义了一套电力领域的命名实体类型:

  • Province: 省份。例如:山东省。
  • City: 城市。例如:济南市、济南。
  • Company: 供电公司。例如:长清区供电公司、市中供电中心。
  • Substation: 供电所。例如:崮山供电所。
  • Indicator: 指标。例如:投诉、意见。
  • Date: 日期。例如:今天、昨天、今年、去年、本周、上周、本月、上月、3月、本季度、上季度、一季度、今年第一季度、2022年、2024年5月。

对用户的输入进行命名实体识别标注,输出的结果应该包含所有的电力领域实体类型的实例。

  • 山东省菏泽巨野县供电公司麒麟供电所投诉数量

<Province>山东省</Province><City>菏泽</City><Company>巨野县供电公司</Company><Substation>麒麟供电所</Substation><Indicator>投诉</Indicator>数量

  • 菏泽巨野县供电公司麒麟供电所投诉数量

<City>菏泽</City><Company>巨野县供电公司</Company><Substation>麒麟供电所</Substation><Indicator&gt

使用大型语言模型微调命名实体识别生成

定义了一套电力领域的命名实体类型:

  • Province: 省份。例如:山东省。
  • City: 城市。例如:济南市、济南。
  • Company: 供电公司。例如:长清区供电公司、市中供电中心。
  • Substation: 供电所。例如:崮山供电所。
  • Indicator: 指标。例如:投诉、意见。
  • Date: 日期。例如:今天、昨天、今年、去年、本周、上周、本月、上月、3月、本季度、上季度、一季度、今年第一季度、2022年、2024年5月。

理想的情况下的输入可能是这样的:{DATE}山东省菏泽巨野县供电公司麒麟供电所投诉数量

但是用户的输入是多种多样的:

  • 山东省菏泽巨野县供电公司麒麟供电所投诉数量
  • 菏泽巨野县供电公司麒麟供电所投诉数量
  • 菏泽巨野投诉数量
  • 菏泽麒麟投诉数量
  • 巨野县供电公司麒麟供电所投诉数量
  • 巨野麒麟投诉数量
  • 巨野投诉数量
  • 麒麟供电所投诉数量
  • 麒麟投诉数量

通过微调后的模型可以生成如下实体标注: <Date>本月</Date><Province>山东省</Province><City>菏泽</City><Company>巨野县供电公司</Company><Substation>麒麟供电所</Substation><Indicator>投诉</Indic

LLaMA-Factory 微调 Text2SQL

git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory

python -m venv env
source env/bin/activate

pip install -e .[metrics]
git clone https://www.modelscope.cn/qwen/Qwen1.5-4B-Chat.git
CUDA_VISIBLE_DEVICES=0 llamafactory-cli train text2sql/qwen1.5-4b-chat_lora_sft.yaml
CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat text2sql/qwen1.5-4b-chat_lora_sft-inference.yaml
CUDA_VISIBLE_DEVICES=0 llamafactory-cli export text2sql/qwen1.5-4b-chat_lora_sft-merge.yaml 
CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat text2sql/text2sql-inference.yaml

支持两种格式的数据集:alpaca 和 sharegpt ,这里使用的是 alp

LLaMA Factory: Easy and Efficient LLM Fine-Tuning

  • pip
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory

python -m venv env
source env/bin/activate

pip install -e .[metrics]
  • conda
git clone https://github.com/hiyouga/LLaMA-Factory.git

conda create -n llama_factory python=3.10
conda activate llama_factory

cd LLaMA-Factory
pip install -r requirements.txt

使用 conda 第二次没有安装成功

CUDA_VISIBLE_DEVICES=0 USE_MODELSCOPE_HUB=1 python src/train_web.py
  • CUDA_VISIBLE_DEVICES=0: 指定 GPU
  • USE_MODELSCOPE_HUB=1: 使用魔搭社区的模型和数据集下载

State of GPT - Andrej Karpathy

了解 ChatGPT 等 GPT 助手的训练管道,从标记化到预训练、监督微调和人类反馈强化学习 (RLHF)。 深入研究有效使用这些模型的实用技术和心智模型,包括提示策略、微调、快速增长的工具生态系统及其未来的扩展。

Data Collection

Tokenization

GPT3 vs LLaMa

Pretraining

Pretraining

Base models learn powerful

Base models in the wild

SFT Dataset

RM Dataset

RM Dataset

RM Training

RL Training

RLHF

Assistant models in the wild