🧥

LOCAL AI HACKATHON #000での取り組みについて【pret-a-porter】

2024/04/01に公開

Discordサーバー「ローカルLLMに向き合う会」とメタデータラボ株式会社が共同開催された「LOCAL AI HACKATHON #000」に参加させていただいたので、私が取り組んだ内容について簡単にまとめます。

詳細な内容については別途記事を書く予定です。

ハッカソンについて

https://x.com/sald_ra/status/1767417855765815519?s=46
VRAM168GBのクラウド環境を10日間も無料でお借りできる最高のハッカソンです!
第二回(#001)も参加受付中なので、興味がある方はぜひ挑戦してみてください!
https://prtimes.jp/main/html/rd/p/000000008.000056944.html

ハッカソンのチームについて

私は合成instructionデータセットを作成するためのモデル構築を目的とした「pret-a-porter」というチームで参加しました。
https://x.com/sald_ra/status/1770831536536842272?s=46
合成instructionの作成経験があるということから、すでぃーさんにお声がけいただき、途中からAIXサトシさんにも参画いただきました。

成果物について

私からはデータセットを作成するためのモデルと、そのモデルを使用して作ったinstructionデータセットを公開しています。

モデル

今回作成したモデルはまだまだベータ版的な位置付けで、全自動でinstructionデータセットを作れるような代物ではありませんのでご注意ください。

jimba-instruction-generator_RakutenAI-7B-instruct_lora

与えられたテキストに関するinstructionを生成するモデルです。
以前公開したjimba-instructionではcalm2-chatを使用していましたが、今回は楽天が公開RakutenAI-7B-instructを使ってみました(特に理由はないです)
instructionでない文章を生成する場合もありますし、品質も安定はしないのですが、1から手作業で作るよりも遥かに簡単にinstructionを作成できると思います。

https://huggingface.co/Kendamarron/jimba-instruction-generator_RakutenAI-7B-instruct_lora

math-problem-generator_RakutenAI-7B-instruct_lora

instruction-generatorと似たような仕組みで作った、算数・数学の問題を生成モデルです。
入力として問題のジャンル(e.g. '整数の四則演算'や'図形')を与えると、それに関する問題を作成してくれます。
四則演算系の問題はある程度安定していますが、図形系の問題は問題として破綻しているなど、あまり安定しないのが現状です。

https://huggingface.co/Kendamarron/math-problem-generator_RakutenAI-7B-instruct_lora

jimba-instruction-evolver-alpha_RakutenAI-7B-instruct_lora

Evol-InstructのIn-depth evolvingを再現するモデルです。
学習に使ったデータが200件と少ないため、多様な進化をするのは難しいですが、与えられたinstructionをより複雑なものに書き換える事ができます。

https://huggingface.co/Kendamarron/jimba-instruction-evolver-alpha_RakutenAI-7B-instruct_lora

データセット

pret-a-porter-instruction-v0.1

jimba-instructionと同じ手法で作成したデータセットです。
ハッカソンの期間が短かったこともあり、jimba-instructionよりも件数が減ってしまいましたが、上記のモデルを使う事で以前より効率的にデータセットを作成できたと思います。
instructionは人手でチェック・修正していますが、outputはcalm2-chatの出力をそのまま使用しているのでハルシネーションや不自然な日本語が含まれる場合があります。ご注意ください。

https://huggingface.co/datasets/Kendamarron/pret-a-porter-instruction-v0.1

pret-a-porter-math-problem-v0.1

上記のmath-problem-generatorを使用して作成した算数・数学データセットです。
大半は小学校算数レベルですが、一部、修正の過程で中学・高校数学レベルになってしまった問題が含まれています。
pret-a-porter-instruction同様にinstructionは人手でチェック・修正済みです。
こちらのoutputにはaixsatoshi/Swallow-MX-8x7b-NVE-chatvector-Mixtral-instruct-v2を使用しています。
このデータセットについてもoutputの精査は行なっていないので、答えが間違っている問題が多数存在します。
こちらについてはなるべく早く修正する予定です。

https://huggingface.co/datasets/Kendamarron/pret-a-porter-math-problem-v0.1

jimba-instruction-simplify-200

instruction-evolverの学習に使った200対のinstructionセットです。
jimba-instructionのinstructionのうち200個をより単純なタスクに書き換えることで作成しています。

https://huggingface.co/datasets/Kendamarron/jimba-instruction-simplify-200

まとめ

「LOCAL AI HACKATHON #000」にて実施した、合成instructionに関する取り組みを紹介させていただきました。
それぞれの詳細な内容については後日まとめようと思います。
ハッカソン第二回の参加者募集中なので、「ローカルAIでやりたい事があるけどVRAMが足りない」って方は絶対に応募しましょう!

Discussion