以下の内容はhttps://stockmark-tech.hatenablog.com/entry/2025/06/10/101945より取得しました。


これからLLM開発を始める方へ 〜軽量な特化モデル開発の課題とコスト〜

ストックマーク株式会社にて技術広報とウェブエンジニアを勤めている安藤です。

当社は生成AIをフルスクラッチで開発している企業ということもあり、LLMの開発についてのご質問をいただく機会が増えてきました。

そこで今回、LLMの新規開発・性能研究なども行っている当社のリサーチチーム 広田さんにストックマークに寄せられるよくある質問についての一つである、比較的軽量な特化モデルの開発についてインタビューしました。本記事では対談形式でその内容についてお届けします。

安藤よろしくお願いします

広田はい、よろしくお願いします

広田 航 (Wataru Hirota)
ストックマーク リサーチチーム ユニットリーダー

ストックマーク株式会社にて自然言語処理の研究開発に従事。
2020年大阪大学情報科学研究科修了、修士 (情報科学)。
その後米国に渡り、Megagon Labs で会話エンジンと Entity Matching に関する研究に従事。
2021年9月より現職。

新しい特化型の軽量LLMを作ることについて

安藤まず、AIやLLMのイベントの場などでよくご質問をいただく内容についてです。
「新しく独自の事業ドメインやマニュアルを学習させた特化型のモデルをQwenなどをベースに7B程度で作ってみたいということを考えているのですが、LLMを開発した企業としてどう思うか」という質問をいただいたのですが、広田さんのご意見をうかがってもよいでしょうか?

広田「特化型」という点が重要だと考えています。お客様からも特化型という話はよく聞くのですが、何をしたいかによってファインチューニングが良い場合とそうでない場合が分かれるイメージです。
事前学習はコストが掛かりすぎるためおいておくとして、Qwenのようなよくできた基盤モデルが有り、それを業務で使えるように何かしらチューニングしたい、というのが根底にあると思います。

特化型モデルの目的とファインチューニングのリスク

広田チューニングの方向性としては、業務知識を覚えさせたいとか、ライティングスタイルを合わせたいとか、特定のタスクをやらせたいとか…そういった用途に分かれるかと思うんですけど、ファインチューニングというのは基本的に新しい知識を覚えさせるというのはめちゃくちゃ難しいです。ですが、文章のスタイルをあわせたりとか本当に限定的な用途を精度を高めたいとか、そういうのには結構向いています。

まず、業務の知識をインストールしつつもLLMができることをそのまま受け継ぎたいっていうのは結構難しくて、そうしたいのであれば、知識は知識として外部のデータベースに持ち、Qwenのような基盤モデルはチューニングせずにそのまま使うというRAG(検索拡張生成)のアプローチがおそらくほとんどのケースにおいて一番良い選択肢なのではないかと考えています

安藤ファインチューニングで新しい知識を覚えさせるということが難しいというのは意外でした。質問をくださった方々は、可能であればモデル自体が業務のドメイン知識を持っているほうがよりRAGなどでの使用でも高い精度の回答を期待できるので、業務マニュアルや約款のような分厚い資料をファインチューニングさせたLLMを作りたいとおっしゃっていました。 それでもやはり、ファインチューニングを行うよりRAGを使うほうが精度が出やすく、無難な方法、という見解でしょうか?

広田そうですね、その通りです。 なぜファインチューニングがお勧めできないかというとLLMでよく知られている現象として「破壊的忘却」というものがあるからです。これは、あるチューニングをすると、別の知識を忘れてしまったり、別のタスク能力が著しく低下したりするものです。 LLMのチューニングは非常にセンシティブな部分があり、例えば約款のような専門知識を覚えることで、基本的な日本語が壊れてしまったり、他のタスク遂行能力が下がってしまう可能性が結構あるのです。

安藤知識を新しく覚えさせたとしても、LLM自体の基礎スペックの精度に影響する可能性があるということですね。

広田そうなんです。既存の基礎スペックが失われる可能性は結構懸念されます。特に小さいモデルだと、既存の能力が失われる度合いが大きくなる傾向にあります。

ファインチューニングのコスト

安藤軽量なパラメータのLLMをファインチューニングするときのリスクについて理解できました、ありがとうございます。 そういったリスクはありつつも、特化モデルを作りたいという質問はかなり多くいただく質問の一つです、具体的なファインチューニングを行うにあたっての時間的・金銭的コストについてを質問させていただけますか?

広田これも、何にどう特化させたいかによってもちろん変わりますが、先程のお話のように何らかの業務の約款の例で考えてみましょう。タスクとしては、約款の知識を踏まえてお客様の質問に答えるというQuestion Answering(QA)で、必要な知識は社内独自のドメイン知識である、という状態ですね。この場合のコストとエンジニアリングリソースについてですね。

設備と金銭的なリソース

広田GPUはクラウドを使うか、自社で購入するかの選択肢がありますが、一旦GPUはクラウドを使う前提としてお話を進めます。

クラウドは一般的にマシン単価と使用時間に比例してコストがかかります。マシン単価はモデルサイズが、使用時間はデータ量が主に左右します。例えばGPUが1時間あたり3〜4ドル程度のインスタンスを24時間稼働させれば、数B程度の LLM の LoRA チューニング (※ パラメータの一部だけを更新する方法) であれば数千程度の文書から学習はできると思います。

ただし、これは何もトラブルがなく上手く学習が進んだ場合の話です。実際のところは、学習は何度か繰り返したりハイパーパラメーターの調整が必要だったりするので、妥当なバッファとしてマシン自体は1週間くらい持っておくのが無難かと思います。なので、やるとしたらそれぐらい(1時間あたり3〜4ドルとして504〜672ドル)のお金がかかる可能性があります。また、モデルの以前に最近はそもそもGPUインスタンスをリザーブするのがそもそも非常に難しく、そもそも取れないとフィジビリティのところがネックになるという状況があります。

安藤なるほど。GPUにかかるコストを試算するうえで、いくつかの変数(基盤モデルのパラメーター数、チューニング範囲)があることを理解しました。ありがとうございます。

学習のためのデータの準備と評価のための人的リソース

広田もうひとつ、人的リソースの話があります。

これは、言ってしまえばエンジニアのスキルによるところが大きいと思います。学習させるコードを書く部分と、データを準備するためのエンジニアリング作業の部分、この二つが支配的だと思います。学習コードを書くのは、できる人なら数時間、慣れていない人なら数週間かかることもあります。

重要なのはデータ準備です。LLMの学習データを作るのは約款のような資料をそのまま学習データに入れても約款を出力するLLMしかできません。 お客様がやりたいことは、約款の知識を使った 例えば「この契約を期間内にキャンセルする場合のキャンセル料はいくらですか」といった質問に答えられるようにすることですよね。 そのためには、単に約款を与えて学習させるだけでなく、想定される質問とその回答のペアをセットで用意する必要があります。

最近主流なのは、聞かれそうな質問を自動で生成し、その回答も自動で作って、そのペアをLLMに学習させるという方法です。

安藤なるほど、自動で質問を作り、自動で回答を作り、それらをセットにして学習させるという事前の準備が必要なのですね。

広田はい、そうです。DeepSeekのような賢くパラメータ数の多いLLMを使って自動でQ&Aペアを作る感じです。最近のLLMは適切なコンテキストを与えればそこから回答を導き出すことは賢くできるので、データを作成するためのLLM、つまり学習させるための教師データを作るためのLLMのようなものを使うイメージです。もちろんデータを作るためにもGPUなどのリソースが必要になる可能性もあります。

何かしらのデータを作って与える必要がある、という部分でエンジニアリング作業が必要になります。これは大規模データ処理の一環なので、LLMに特化したスキルと言うよりは専門的なデータ処理スキルが求められ、データの量やエンジニアのスキルによって大きく変わります。

安藤ありがとうございます。個人的に気になることなのですが、LLMによって作成されたQ&Aペアの妥当性はどのように評価するのでしょうか?別のLLMで判断させるのか、それとも人間が評価を行うのでしょうか?

広田それは良い質問ですね。LLMに業務知識を新しく覚えさせるためにチューニングしたい場合、前提としてLLMがその業務知識を知らないという状況ですよね。 そうなると、やはりLLMが自動で評価することはできないので、ある程度人が評価せざるを得ない、というのが本質的な問題設定としてあります。
 特化型モデルを作る場合、評価方法には色々ありますが、回答を人間が見て良い悪いを判断したり、複数の回答を比較してどちらが良いか選ばせたりするなど、基本的に人が評価します。

安藤エンジニアというか人間、特にドメイン知識を持ったドメインオーナーのような方が、ある程度の精度が出ているかを判断する人的リソースとして必要だと考えた方が良いのですね

広田そうですね、まさにその通りです。また、もう一つのアプローチとして、全くの自動評価ではなく、LLMの自動評価も使えるところは使おうということで、例えばRAGを考える際に、検索(リトリーブ)の部分だけ人手で評価データを作り、「ここ(検索結果)に必ず回答が書いてあるので、LLMが出した回答が正しいか評価してください」といった方法もあります。 

人を模倣するLLM

広田研究分野では、人の判断基準をLLMにトレースさせる、つまり評価をするLLMをファインチューニングするというアプローチも盛り上がっています。

安藤なるほど。例えばわざわざ専門家の方に毎回聞かなくても、その人の判断基準をトレースしたLLMがあれば、自分が分からなくてもそのLLMに評価させたら分かる、ということですね。

その「人の判断基準」はどこから持ってくるのですか? スラックの会話などでしょうか?

広田最初は、評価データを一部作る必要があります。例えば、LLMの回答とそれに対する人間の添削(ここが間違っている、これは良い、など)のデータをいくつか用意したり、AとBの回答を比較してどちらが良いか、といった評価データを用意したりします

安藤 なるほど、イメージがつきました。人間の傾向を分類する心理テストや、判断が難しいドメイン知識についてどう思うか回答させる、といった感じですね。

広田 そうですね、そういうアプローチもあります。最近、LLMの学習にも、その方法が非常によく使われています。LLMを学習させた後、めちゃくちゃ賢い別のLLMに判断・評価させて、2択でどちらが良いかフィードバックを与えることで学習を回す、強化学習的なアプローチです。

安藤その「賢いLLM」というのは、AnthropicのClaudeのような巨大なモデルを指すのですか?

広田そうです。Llama 405Bなどの巨大モデルが出ていますが、それらはこの用途を意識して作られていると言われています。他のモデルを学習させるためのジャッジに使う賢いLLMとして使ってください、という位置づけです。 Reward Modelという名前がついています。

安藤なるほど。でも、その賢いモデルは動かすのが大変だと聞くのですが、Bedrockのようなサービスを使う前提ですか?

広田そうですね、巨大なモデルは動かすのが大変です。Bedrockは単価が高い可能性があります。おそらく、そもそもそういう学習をしようとしているところは既にリソース(GPUなど)を持っているはずなので、それを使って回すことが多いと思います。

LLMのAPIのライセンス

安藤前段の話を踏まえて、巨大な賢いモデルを、例えばOpenAIのLLMをAPIベースで動かすとなると話は違ってくるのでしょうか? 自前で動かさなきゃいけない理由があるのですか?

広田精度はOpenAI APIなどの方が断然良い場合が多いのですが、利用規約上の問題があります。 OpenAIのようなサービスの利用規約では、「他の賢いモデルの学習に使ってはいけません」と明記されていることが多いです。一方、一部モデルなどはモデルの学習に利用可能なライセンスが付与されているので、出力結果を他のモデル学習に使うことが許諾されています。 だからこそ、評価用として使っているのです。

安藤そうなんですか!そこも、このアプローチをやる上で注意すべき点、認識しておくべき点なのですね。

広田 Llamaなども、そのモデルの出力を他のモデル学習に使った場合、Llamaのライセンスを継承しなければならない、という規定があり、しかもMetaの方針によって変わる可能性がある、と言われています。最近はモデルのライセンス問題も話題になっていますが、これは別問題として存在します。

これからLLM開発をはじめる方へ

安藤リサーチチームとして、他に「よく聞かれること」はありますか?

広田よく聞かれるのは、「RAGをどうすればいいですかね?」「データがなかなか準備できないのですが...」といった、比較的よくある質問が多いです

最近はイベントに来る方のリテラシーや求めているものがかなりレベルアップしています。ファインチューニングなど、より進んだ質問も増えました。これは、コンサルの会社などがモデル構築を支援している影響もあるのかもしれません。汎用モデルのライセンスや社内規定の壁に当たって、自社でのモデル開発を検討するケースもあるようです。

安藤なるほど、ありがとうございます。これを踏まえてこれからLLM構築をはじめられる方に「この知識はおさえておいたほうがいい」などのポイントはありますか?

広田LLMの学習は、まずミニマムなスタートを切るのが理想的です。 まずはGPU一台で動くような小さいモデルの学習からスタートし、データやパラメーターを増やしていくのが良いでしょう。

最近はHugging FaceやAccelerateといったライブラリがあり、本当に数行でミニマムなLLMの学習ができてしまいます。 まずそこで動かしてみて、データをカスタマイズして学習コードを動かすのが第一ステップかと思います。

ただし、小規模な学習だと精度向上には限界があります。次のステップとしては、GPUの数を増やして(2台、3台など)、もう少し大きいモデルを学習させる必要があります。
となると、次に必要になってくるのは分散学習のスキルです。 MegatronやDeepSpeedといったライブラリが出ているので、チュートリアルなどを参考に、複数のGPUでモデルを学習させる方法を勉強していくのが次のステップになるかと思います。

安藤なるほど、非常に参考になりました!今回はインタビューにお付き合いいただき、大変ありがとうございました!

広田ありがとうございました


軽量な特化モデルを作るアプローチについてのまとめ

  • 7~10B程度のパラメータの比較的小型な基盤モデルにファインチューニングを行うとモデルの精度を保つことが難しい
  • 基盤モデルはそのままに、知識を外部から取り入れるRAG(検索拡張生成)がほとんどの場合は良い選択肢になるのではないか
  • GPUのコストは基盤モデルのパラメーター数(7Bなど)と、実際にチューニングしたいパラメーターの数(フルなのか一部なのか)の二つによって大きく変動する
  • 今時点ではそもそもGPUの確保が難しい
  • ナレッジはそのまま覚えさせたいマニュアルや約款を学ばせるのではなく、それらの資料に対するQ&Aを学ばせる
  • 学習データを作るためのエンジニアリングが必要
  • 学習データをLLMで生成するという手法もある
  • LLMによる学習データの生成はライセンスに留意することが必要
  • LLM開発はまずミニマムな規模から始めていくのが良い

結びに

本インタビューでは、ストックマークのリサーチチーム 広田さんに回答をいただきました。

本テックブログでは、また皆様にお寄せ頂いた質問に専門家が回答を行う記事を引き続き掲載していきます。イベント会場でのご質問やお問い合わせなどでお気軽に疑問をお尋ねください!

ストックマークには沢山のリサーチャーやエンジニアが在籍しています。

ストックマークがどんな感じか、より詳しく知りたいなとおもったらぜひカジュアル面談からお気軽にご連絡ください🐿️




以上の内容はhttps://stockmark-tech.hatenablog.com/entry/2025/06/10/101945より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14