kurogane's picture
Update README.md
a95a9d4 verified
metadata
language:
  - ja
tags:
  - merge
base_model:
  - aaditya/Llama3-OpenBioLLM-8B
  - aixsatoshi/Llama-3-youko-8b-instruct-chatvector
  - NousResearch/Meta-Llama-3-8B
license: llama3

kurogane/Llama3-BioYouri-8B-mergetest

このモデルは生物学・医学に精通したOpenBioLLM-8Bをベースに、日本語対応を向上させるためにLlama-3-youko-8b-instruct-chatvectorとマージさせたモデルです。

初めての試みだったのでうまくできているかはわかりませんが、体感として、日本語での医学知識の説明は少し詳しめにこたえてくれます。生物系の知識について、若干ハルシネーションしているように感じますので、要注意です。

また、生物学・医学系の知識が入ったせいか、若干、性的な部分の規制が弱くなっているように感じますので、運用時は気を付けてください。

Method

マージ方法について

以下のNoteBookを参考にマージしました。

merge.ipynb · p1atdev/nekoqarasu-14b-chat at main (huggingface.co)

こちらのコードを参考に、モデルネームを入力するだけでマージできるコードを作成しました。 LLMModelMerger.py RAMが64GBあれば問題なくマージできると思います。

以下のモデルを線形マージしました

aaditya/Llama3-OpenBioLLM-8B

aixsatoshi/Llama-3-youko-8b-instruct-chatvector

NousResearch/Meta-Llama-3-8B

BioYouri = "Llama3-OpenBioLLM-8B" + "Llama-3-youko-8b-instruct-chatvector" - "Meta-Llama-3-8B"

アップロード時のsafetensorsの分割について

また、アップロードにあたり、以下のコードで分割しました。 safetensors_splitter.py "model-00001-of-00004.safetensors"のような形で、指定した「model.safetensors.index.json」の順番でレイヤーが分割されます。ベースにしたモデルなどのmodel.safetensors.index.jsonのディレクトリをdir_jsonに入れてあげれば正常に分割されると思います。ただし、指定したmodel.safetensors.index.jsonの中身に合わせてl_dict_safetensorsの内容は書き換えてあげてください。

License

このモデルはMETA LLAMA 3 COMMUNITY LICENSEに従って提供されます。 https://llama.meta.com/llama3/license

謝辞

今回、Plat 🖼️(@p1atdev_art)さん / X (twitter.com)様に生成したモデルの動作検証の仕方を教えてもらいました。この場を借りて感謝申し上げます。ありがとうございます。