こんにちは!現在Red HatやIBM系の企業に所属しつつIT業界の片隅でひっそり働く猫です。
※この記事は所属企業の意見を代表するものではなく、私自身の意見や見解です。
今回ご縁があってIBM内のAWS AI Leagueに参加させていただきました!
初心者がLLM(SLM)のファインチューニングコンテストに参加してどうだったのか?
感想や学び、またコンテスト結果について書いていきたいと思います。
また投稿許可は得ていますが、万一まずい内容があったら訂正させていただきますので、お知らせいただけると幸いです。
AWS AI Leagueとは?
こちらはAWSで主催しているAWS SageMaker Unified Studioを使った、ファインチューニングコンテストです。
参加方法はとても簡単でガイドも提供され、参加者は気軽にLLM(SLM)のファインチューニングを試すことができます。
自分で用意するデータセットと決められた時間内でモデルをトレーニングし、与えられたお題に対して、より優れた回答を出せるモデルに育てた人が勝者となります。
採点は自動化されており、自分が育てたモデルvs他モデルの応答が比較され、勝ち負け判定がされます。このWin Rateが高いことが勝ち抜く上で重要になります。
参考:
https://aws.amazon.com/jp/blogs/news/aws-ai-league-learn-innovate-and-compete-in-our-new-ultimate-ai-showdown/
https://aws.amazon.com/jp/blogs/machine-learning/aws-ai-league-model-customization-and-agentic-showdown/
今回参加したAWS AI League
今回のLeagueは大変わくわくするものでした。というのも、世界のIBM社員とAWSを使ったAIのファインチューニングで競い、上位5名の社内最終リーグを経て、勝ち上がった優勝者がAWS re:Inventに出場できる!というものだったからです。
IBMはGlobalなIT企業であり、数多のデータサイエンティストやAIアプリケーションの実装者、またAIの研究をしている方が存在します。
そんな強者の中で、AIが好きな程度の私が参加していいのかな?という思いもありました。が、元々ファインチューニングに興味があったことや初心者参加OKというお話もあり、参加を決断しました。
参加時の経験は下記です。
LLM周りの経験:
・社内の研究会(データサイエンティストやソフトウェアエンジニアの方含む)でAIを使った対話エージェントを開発中。
・自分のGPUを使い、AI音声自動合成や画像出力を試したことがある。
・Gemini、ChatGPT、Claude、DeepSeek等のモデルとは一通り対話したことはある。
・慶應義塾大学の社会人向けデータサイエンスコース修了
AWS AI Leagueコンテストの進め方
コンテストであるからには、とりあえず予選選出(上位5名)&あわよくば優勝してAWS re:Inventに行く!を目標にすることにしました。
が、始まって1-2日でWin Rate(※AWS AI Leagueとは?を参考)が97%に達していた方もいたのでこの目標はなかなか厳しいものだったと言わざる得なかったかもしれません。
一応データサイエンスコースを修了していたので、データクレンジングや品質の重要性の基本は理解していたつもりです。が、ファインチューニングに最適なデータセットやトレーニングのパラメータ設定については無知だったため、主に課金したChatGPTにアドバイス+データセット生成をさせながら進めました。
最初はAWS PartyRockで提供されているデータ生成ツールを使っていたのですが、ToKen制限があるのか大量のデータセット生成ができない(50件とか)ため、ChatGPTに生成させる方針に切り替えました。優勝者もChatGPTを使用していたようです。
最初はWin Rateが5%でした。が、トレーニングをする上で試行錯誤した結果、5%→13%→44%とWin Rateを伸ばすことができました。
AWS AWS AI Leagueコンテストの結果
最終的な参加者は700名ほどで、私の順位は上位25%ぐらいに留まりました。
色々な方が参加されていましたが、プロのデータサイエンティストもいる中でなんとか健闘した方だと信じたいです!
AWS AWS AI Leagueコンテストで学んだこと
下記の4点が、限られた時間の中でファインチューニングをする上では重要だと学習できたことは大きかったと思います。
(1)データセット品質の重要性
今回はパラメータも重要でしたが、データセットの品質が非常に重要でした。特に小規模なデータセットしか用意できない場合は、いかに品質の高いデータセットを用意するかがキーになると感じました。
データセットの形式は望ましい出力から逆算して考えていくことが必要です。
(2)ファインチューニングのやり方の理解の重要性
コンテストということもあり、現在使っているファインチューニングがどうなされているのかという特徴を理解するのは重要だと感じました。私はたまたま聞いたことがある程度に知っている分野だったので、過去の知識が少し理解を助けてくれました。
(3)パラメータの重要性
(2)を踏まえて、訓練時に設定できるパラメータをどう設定するかが非常に重要だと感じました。そのためには、各パラメータについての理解も必要になります。私は知識不足だったのでChatGPTに解説させながら進めました。
(4)トレーニングリソース確保の重要性
コンテストの最後に近づくとリソース不足なのか重くなったり、トレーニングJobが失敗することがありました。
空いている時間や初期のトレーニングリソースが確保できる時に、トレーニングJobを回していくのは重要だと思います。リソース確保という観点から見るとコンテスト以外でも言えるかと思います。
総括
優勝はできませんでしたが(当たり前)、AWS AI Leagueに参加することができて、とても楽しかったです!
またAWS SageMaker Unified Studioは初心者でも簡単にファインチューニングができるのが良いなと思いました。
もし何か機会があったら、AIにご興味がある方は参加してみることをおすすめします!