はじめに
Llama 2をFinetuningする記事をいくつか書いてきました。
Finetuningをしていると、
- 「欲しいDatasetsが見つからないなぁ」
- 「これもうちょっと〜だったら使えるのに」
といったことが出てきます。
であれば…
ということで、自分でDatasetsを作ってしまえばいいということで。
今回はLlama 2向けのDatasetsを作成して、Hugging Faceにアップロードをするところまでやってみます。
概要
- Llama 2向けのDatasetsを手作業で作成する
- 作成したDatasetsをHugging Faceで公開する
手順
0.準備
今回は下記のアカウントが必要です。
- Google Colab
- Hugging Face
Hugging Faceにログインしたら、アクセストークンを取得しておきましょう
アクセストークンはSettings
からAccess Tokens
で作成できます
1.トレーニング用のDatasetsの作成
作成方法は何通りかあるんですが、今回は手作業でトレーニング用のDatasetsを作成してみます。
まずはDatasetsの実体となる、jsonl形式のファイルを作成します。
ファイル名はひとまず何でもOKです。
ファイル名.jsonl
このファイルを開いて、トレーニングさせたい内容を記載します。
1レコードを1行として、レコード数分の行数を書いていきます。
{"text": "### Instruction: 【システムプロンプト】 ### Input: 【プロンプト1】 ### Response: 【回答1】"}
{"text": "### Instruction: 【システムプロンプト】 ### Input: 【プロンプト2】 ### Response: 【回答2】"}
{"text": "### Instruction: 【システムプロンプト】 ### Input: 【プロンプト3】 ### Response: 【回答3】"}
…
{"text": "### Instruction: 【システムプロンプト】 ### Input: 【プロンプトN】 ### Response: 【回答N】"}
Google Colabを開き、任意のディレクトリに格納しておきます。
これでDatasetsをHugging Faceへ登録する準備が完了です!
2.Hugging Faceへのログイン
Hugging FaceへDatasetsを登録するには、huggingface-cli
を使います。
Google ColabからHugging Faceにログインしておきましょう。
pip install huggingface_hub
huggingface-cli login
アクセストークンを聞かれるので、事前に確認しておいたアクセストークンを入力してEnter。
これでHugging Faceへログインできるはず
3.登録用のDatasetsをHugging Face側に作成する
次に、1で作成したDatasets(jsonlファイル)をアップロードする先、Hugging FaceにDatasetsを作成しておきます。
これをやっておかないと、1で作成したDatasets(jsonlファイル)のアップロード先が指定できないです。
Hugging Faceを開いたら、画面左上の+New
からDataset
を選択。
Datasetを作成しておきます。
4.DatasetsをHugging Faceへ登録する
ここまできたら、Datasetsの登録に進んでいきます。
いよいよ!
Google Colabから下記のコードを実行して、Hugging FaceへDatasets(jsonlファイル)を登録します。
import datasets
DATA_PATH = ""
dataset = datasets.load_dataset("json", data_files = DATA_PATH)
dataset.push_to_hub("")
DATA_PATH
で作成したDatasets(jsonlファイル)を指定。
dataset.push_to_hub
で、登録先のHugging FaceのDatasetを指定する感じ。
datasetsがない、と怒られたら下記でpip install
しとく。
!pip install datasets
5.登録されたDatasetsを確認してみる
登録できたかどうか、Hugging Faceで確認をしてみる。
3で登録したDatasetのページを開いて、登録したDatasetsが表示されていれば正常に完了したことになります。
あとはこのDatasetsを使って煮るなり焼くなりする。
まとめ
やってみると思っていたよりスムーズにできると思います。
Hugging Face様様ですね。