LLMファインチューニング勉強企画の紹介
はじめに
はじめまして。データアナリティクスラボ株式会社 データソリューション事業部の力岡と申します。普段はデータサイエンティストとして、データ分析や機械学習モデルの構築、生成AIアプリの開発などを行っています。
今回は、社内で実施した「LLMファインチューニング勉強企画」についてご紹介します。本記事では、企画を主導した立場から、新技術を学ぶために工夫した点や企画の進め方について紹介していきたいと思います。データアナリティクスラボ株式会社に興味のある方や、これからLLMのファインチューニングを勉強してみたいという方はぜひご覧いただければと思います。
企画概要
目的
本企画の目的は、LLM(大規模言語モデル)のファインチューニング技術を習得することで、社員のスキル向上や会社全体の技術力向上を図ることです。また、普段は異なるクライアント先で業務を行う社員が多いため、本企画を通じて交流し、技術知見を共有することも目指しました。
期間
2024年5月から11月までの約半年間をかけ、実験計画から成果物の作成までを進めました。
参加メンバーと役割
メンター(2人):企画全体の統括およびメンバーのサポートを担当。
作業メンバー(4人):ファインチューニング技術の習得に向けて、実際の作業を担当。
進行方法
メンターである私は、ファインチューニングに関する知識をある程度有していたため、作業メンバーの技術習得を第一として企画を推進しました。企画を進める中で得られた知見は相互に共有し、メンターを含め全員の成長に役立てました。
1. 基礎知識の習得
最初の1ヶ月は、LLMやファインチューニングに関する基礎知識を深めるための準備期間としました。この期間では、学習教材の共有、ローカルLLMの使用方法やファインチューニング手法に関する勉強会の実施など、メンバーの知識向上を図りました。以下に、参考にした書籍や記事を紹介します。
- 書籍:大規模言語モデル入門(著者:鈴木正敏、山田康輔、李凌寒、山田育矢)
- 書籍:今日から使えるファインチューニングレシピ ―AI・機械学習の技術と実用をつなぐ基本テクニック(著者:藤原弘将、佐々木雄哉、加藤修、川崎奏宜、内木賢吾、吉岡琢、石田忠)
- 記事:A Beginner’s Guide to Fine-Tuning Mistral 7B Instruct Model
- 記事:LoRAによる効率的なファインチューニング:大規模言語モデルにおける最適パラメータ選択のガイド
2. 実験計画の立案
次の1ヶ月は、実際に手を動かして学ぶことが重要であると考え、各メンバーが個別のテーマを選び、実験計画を立てる期間としました。計画には、実装するタスク、使用するデータセット、評価方法などを詳細に調査し、メンターと意見交換しながら最終的な実験計画を策定しました。テーマとしては、以下が挙げられました。
- LLMへの知識付与の実現性確認
- 感情分析や要約精度の評価
- 分類および生成タスクの結果検証
3. コード実装と評価
次の3ヶ月は、実験計画に基づきLLMのファインチューニングに取り組む期間としました。メンバーにはサンプルコードを提供し、各自のタスクに応じて、論文や実装例などを参考にコードを改良・実装してもらいました。メンターは定期的に進捗を確認し、実装中のバグの解消や結果の妥当性についてアドバイスを行い、コードレビューや技術サポートなども実施しました。
4. 成果物の作成と知見共有
最後の1ヶ月は、実験結果の整理と知見の共有を目的に、各メンバーが実験結果をまとめて技術記事を執筆しました。完成した成果物は社内勉強会で発表し、プロジェクトで得られた知見や技術を社内に横展開しました。
進める中で大変であった点
実装環境の整備
LLMのファインチューニングではGPU環境が必須であったため、Vertex AIのGPUインスタンスを利用することにしました。本サービスは従量課金制であるため、手順書や利用ルールの整備、適切な権限の付与などを事前に準備してから運用を開始しました。初めて利用するサービスだったこともあり、これらの整備にはかなり苦労しました。
技術的な問題の解決
ファインチューニングに関連する技術的な問題も多く発生しましたが、それに加えて、Vertex AIのフリーズや接続不可といった環境面での問題もいくつか起こりました(特にドライブの容量が枯渇するとインスタンスに接続できなくなるなどの現象が発生)。これらのエラーの原因究明には時間を要しましたが、原因調査を通じてメンバー全員がスキルアップする良い機会にもなり、「実際に手を動かすことの重要性」を改めて実感しました。
成果物
社内勉強会
社内での成果発表会を実施しました。任意参加という形式でしたが、多くの社員に参加いただき、様々な質問が飛び交いました。
技術記事
以下のメンバーが本企画で取り組んだ内容について技術記事を公開しています。ぜひご一読いただけると嬉しいです。
- LLMのファインチューニングでドメイン知識の獲得は可能か。知識付与の限界と可能性
- ファインチューニングで、汎用的な要約モデルを作るためのデータセット設定
- ネガポジ分析の最適解:LlamaとBERTのモデル比較と学習件数の影響
- ファインチューニングによる文書分類性能と文書生成タスク性能の向上
LLMファインチューニング勉強資料
メンターがLLMのファインチューニングを教えるにあたって必要な知識を網羅的に資料にまとめました。2024年12月に一般公開予定ですので、公開を楽しみにしていただければと思います。
この他にも、弊社HPでJOURNAL記事を書いていたりもしますので、こちらにも目を通していただけると幸いです。
おわりに
今回は、このような勉強企画を立ち上げ、有志の社員が自ら手を挙げて参加して頂きました。同じ社員が高い熱量を持って新しい技術をキャッチアップしようとする姿は、一社員として見ていて嬉しいですし自分も負けてられないなと刺激になります。
日々の業務の中で、新しい技術を学ぶ機会やモチベーションを維持するのが難しいと感じる方も多いかと思います。今後も、多様な技術を学ぶ機会を提供し、継続的に学びの場を設けていきたいと考えています。もしデータアナリティクスラボの取り組みにご興味がありましたら、ぜひ他の記事や採用サイトもご覧いただければ幸いです。
最後までお読みいただき、ありがとうございました。
Discussion