英文

dolly-japanese-gpt-1b-clone

概要

这是经由使用日本语数据集“ databricks-dolly-15k-ja ”进行训练而得出的rinna公司的“ japanese-gpt-1b ”推理模型。

学习方法参考了“ inu-ai/dolly-japanese-gpt-1b ”。该模型与“ inu-ai/dolly-japanese-gpt-1b ”中的模型类似,并基于本人的自学重新创建。

衷心感谢提供学习数据和创建/分发模型的各位。

模型使用方法

请使用原版“ inugoya ”的“ inu-ai/dolly-japanese-gpt-1b ”来使用已经训练好的模型。有关模型使用方法,请参阅原始版本的“ モデルの使用方法 ”。如果想要在自己的环境中进行微调和推理,请参考以下内容。

环境

各种版本

項目 バージョン 備考
OS Windows 10
GPU RTX4070 VRAM12GB
python 3.9.6 pyenv localにて設定。下記のすべての環境において同一。
python library requirements.txt参照
CUDA toolkit cu117

用于处理训练数据集的Python环境设置

我们使用alpaca_preprocess.py来处理数据集。请使用 " 推论用Python环境设置 "。

用于微调的Python环境设置

我们使用fine_tuning.ipynb来进行微调。下面是设置Python虚拟环境的步骤。

pyenv local 3.9.6
mkdir fine_tuning_ # 仮想環境名
python -m venv ./
cd Script
./activate.ps1
cd <本リポジトリのパス>
pip install -r requirements_finetuning.txt
pip install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu117

推论用Python环境设置

我们使用main.py进行了使用经过训练的模型的推理。下面是设置Python虚拟环境的步骤。

pyenv local 3.9.6
mkdir rinna_gpt_1b # 仮想環境名
python -m venv ./
cd Script
./activate.ps1
cd <本リポジトリのパス>
# 下記だけ違う
pip install -r requirements.txt
pip install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu117

开发

使用本仓库的开发步骤如下:

  • 整合训练数据集
  • 微调
  • 推理
  • 1. 整合训练数据集

    我们使用了 " databricks-dolly-15k-ja " 数据集。 数据集的格式已更改为与 " alpaca " 相同的格式,如下所示。

    <s>
    以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。
    [SEP]
    指示:
    あなたは何でも正確に答えられるAIです。
    [SEP]
    入力:
    User:日本で一番高い山は?
    [SEP]
    応答:
    富士山
    </s>
    

    整理培训数据集的步骤如下:

  • 设置用于整理培训数据集的Python环境,并启动虚拟环境
  • 在此存储库中创建train_data文件夹
  • 下载“ databricks-dolly-15k-ja ”的databricks-dolly-15k-ja.json文件,并放入train_data文件夹
  • 运行alpaca_preprocess.py
  • 在train_data文件夹中生成“ databricks-dolly-15k-ja.txt ”
  • 2. 微调

    我们使用 " japanese-gpt-1b " 对databricks-dolly-15k-ja.txt 进行了微调。

    下面是操作步骤:

  • 设置Python环境用于微调,并启动虚拟环境
  • 执行alpaca_preprocess.py中的内容
  • 3. 推理

    执行使用微调后的模型进行推理。

    推理结果如下:

    Assistant:富士山
    Assistant:琵琶湖です。
    Assistant:富士山
    Assistant:南米大陸にあるチリのパタゴニア湖です。
    Assistant:何でも正確に答えられるAIです。
    

    操作步骤如下:

  • 设置推理用Python环境,并启动虚拟环境
  • 运行main.py
  • 模型相关

    以下是在运行run_clm时自动生成的内容。

    训练超参数

    训练过程中使用了以下超参数:

    • 学习率:1e-07
    • 训练批大小:2
    • 评估批大小:8
    • 种子:42
    • 优化器:Adam,beta=(0.9,0.999),epsilon=1e-08
    • lr_scheduler_type:常数
    • num_epochs:18.0

    框架版本

    • Transformers 4.29.0.dev0
    • Pytorch 2.1.0.dev20230503+cu117
    • Dataset 2.12.0
    • Tokenizers 0.13.3

    备注

    • 运行run_clm时,未设置do_eval,这是个问题
      • 也许应该设置“ --validation_file = train.txt ^ --do_eval ^ ”
    • 由于训练时间较长,因此如果有LoDA等机制,则可以使用该机制
    • 由于训练时间较长,建议使用Google Colaboratory等工具

    参考网站

    サイト 何を参考にしたか 備考
    12315321 学習のハイパーパラメータ
    12316321 学習に使用したデータ
    12317321 fine tuning環境構築と実行方法
    12318321 fine tuning環境構築と実行方法
    12319321 huggingfaceへのpush方法。基本はgithubと同じ。 「git lfs install」「huggingface-cli lfs-enable-largefiles .」がhugging faceならでは
    12320321 (参考)fine tuning環境構築と実行方法
    12321321 (参考)