add openai version requirement (openai<1.0)

This commit is contained in:
兼欣
2023-12-21 10:37:27 +08:00
parent 5aa84bdfd3
commit 508acdeb88
5 changed files with 30 additions and 30 deletions

View File

@@ -642,7 +642,7 @@ pip install -r requirements_finetune.txt
```bash
# 分散トレーニング。GPUメモリが不足するとトレーニングが破綻するため、シングルGPUのトレーニングスクリプトは提供していません。
sh finetune/finetune_ds.sh
bash finetune/finetune_ds.sh
```
シェルスクリプトでは、正しいモデル名またはパス、データパス、出力ディレクトリを指定することを忘れないでください。このスクリプトでは DeepSpeed ZeRO 3 を使用しています。変更したい場合は、引数 `--deepspeed` を削除するか、要件に基づいて DeepSpeed 設定 json ファイルを変更してください。さらに、このスクリプトは混合精度のトレーニングに対応しており、`--bf16 True` または `--fp16 True` を使用することができます。fp16を使用する場合は、混合精度のトレーニングのため、DeepSpeedを使用することを忘れないこと。経験的に、あなたのマシンがbf16をサポートしている場合、私たちのプリトレーニングとアライメントを整合させるためにbf16を使用することをお勧めします。
@@ -651,9 +651,9 @@ sh finetune/finetune_ds.sh
```bash
# シングルGPUトレーニング
sh finetune/finetune_lora_single_gpu.sh
bash finetune/finetune_lora_single_gpu.sh
# 分散トレーニング
sh finetune/finetune_lora_ds.sh
bash finetune/finetune_lora_ds.sh
```
LoRA ([論文](https://arxiv.org/abs/2106.09685)) は、フルパラメーターによるファインチューニングと比較して、adapterのパラメーターを更新するだけで、元の大きな言語モデル層は凍結されたままである。そのため、メモリコストが大幅に削減でき、計算コストも削減できる。
@@ -668,9 +668,9 @@ Q-LoRAを実行するには、以下のスクリプトを直接実行してく
```bash
# シングルGPUトレーニング
sh finetune/finetune_qlora_single_gpu.sh
bash finetune/finetune_qlora_single_gpu.sh
# 分散トレーニング
sh finetune/finetune_qlora_ds.sh
bash finetune/finetune_qlora_ds.sh
```
Q-LoRAについては、弊社が提供する量子化モデル、例えばQwen-7B-Chat-Int4をロードすることをお勧めします。BF16モデルは使用し**ない**でくださいフルパラメータ・ファインチューニングやLoRAとは異なり、Q-LoRAではfp16のみがサポートされる。シングルGPUのトレーニングでは、トーチアンプによるエラーが観測されたため、混合精度のトレーニングにはDeepSpeedを使用する必要がある。また、Q-LoRAの場合、LoRAの特殊トークンの問題が残っています。しかし、Q-LoRAではチャットモデルとしてInt4モデルのみを提供しており、言語モデルはChatML形式の特殊トークンを学習しているため、レイヤーの心配はありません。なお、Int4モデルのレイヤーは学習できないはずなので、学習で特殊なトークンを導入すると、Q-LoRAが動作しなくなる可能性があります。
@@ -888,7 +888,7 @@ python cli_demo.py
OpenAI API をベースにローカルAPIをデプロイする方法を提供する@hanpenggit に感謝)。始める前に、必要なパッケージをインストールしてください:
```bash
pip install fastapi uvicorn openai "pydantic>=2.3.0" sse_starlette
pip install fastapi uvicorn "openai<1.0" pydantic sse_starlette
```
それから、API をデプロイするコマンドを実行します: