第7部 LLMを使った開発の基礎
第27章ローカルLLMとクラウドLLM
LLMを使うとき、モデルをどこで動かすかには大きく二つの選択肢があります。事業者のクラウド上で動くものと、 自分たちの環境で動かすものです。この章では、両者の違いと使い分け、そして開発上はこれらを切り替え 可能に設計できることを見ていきます。この設計の考え方は、開発の柔軟さを大きく左右します。
27.1二つの違い:賢さと設置場所
クラウドLLMとローカルLLMは、おもに「どこで動かすか(設置場所)」と「どれだけ高性能か(賢さ)」の二点で違います。
LLMには、事業者が用意した環境にインターネット越しに接続して使うクラウドLLMと、自分たちの手元の 環境に用意して動かすローカルLLMがあります。両者の違いは、大きく二点に整理できます。一つは設置場所で、 遠くの事業者の環境で動くのか、自分たちの管理する環境で動くのかです。もう一つは賢さで、一般に、 大規模で高性能なモデルはクラウドで提供され、手元で動かせるモデルはそれより小さめになりがちです。 この二つの軸で捉えると、両者の性格が見えてきます。
27.2クラウドLLMの特徴
クラウドLLMは、高性能なモデルをすぐ使え、環境の用意も要りません。一方、データを外部に送る点や、利用量に応じた費用に注意が必要です。
クラウドLLMは、事業者が運用する高性能なモデルを、インターネット越しに呼び出して使います。自分たちで 大がかりな計算環境を用意する必要がなく、手軽に高い性能を利用できるのが利点です。最新のモデルへ 切り替えやすいことも魅力です。第10章で見たとおり、大規模なモデルを自前で動かすには相応の計算資源が 要りますが、クラウドならその負担を事業者が引き受けてくれます。
一方で、入力した内容が外部の事業者へ送られる点には注意が必要で、機密情報の扱いには配慮が要ります。 費用は利用量に応じて発生するため、使うほどコストがかさみます。この点は第9部でも改めて扱います。手軽さと 引き換えに、データの取り扱いと費用を意識する必要がある、というわけです。
27.3ローカルLLMの特徴
ローカルLLMは、データを外部に出さずに使え、細かく調整もできます。一方、動かすには相応の計算資源が必要で、性能は大規模なクラウドに及ばないことが多いです。
ローカルLLMは、モデルを自分たちの管理する環境に用意して動かします。最大の利点は、入力するデータを 外部に送らずに済むことで、機密情報を扱う場面や、外部との通信を避けたい場面に向きます。手元で完結する ため、利用量に応じた課金もありません。モデルを自分たちの用途に合わせて調整しやすい面もあります。
一方で、モデルを動かすには相応の計算資源が必要になり、その準備や運用の手間がかかります。手元で無理なく 動かせるモデルは、大規模なクラウドのモデルより性能が控えめになることが多い点も、押さえておく必要が あります。手軽さでは劣るものの、データを外に出さない安心感と、使い続けても課金が増えない点が、 ローカルの持ち味です。
27.4開発では切り替え可能に設計できる
アプリケーションを、LLMを呼び出す部分だけ差し替えられるように作っておけば、ローカルとクラウドを状況に応じて切り替えられます。
開発の観点で重要なのは、ローカルLLMとクラウドLLMは、どちらか一方に固定しなければならないものではない、 という点です。アプリケーションの中で、LLMを呼び出す部分を一か所にまとめ、共通の使い方でやり取りする ように作っておけば、その内側でどちらのLLMを使うかを差し替えられます。次のコードは、その考え方を イメージで示したものです。呼び出す側は同じ書き方のまま、内部の接続先だけを切り替えます。
def ask(prompt):
if USE_LOCAL:
return local_llm(prompt) # 手元のモデルを使う
else:
return cloud_llm(prompt) # クラウドのモデルを使う
# 呼び出す側は、どちらでも同じ書き方
answer = ask("この文章を要約して")
このように設計しておくと、開発中は手軽なモデルで試し、本番では高性能なモデルを使う、といった 使い分けもしやすくなります。機密性の高い処理はローカルで、それ以外はクラウドで、という組み合わせも 考えられます。呼び出し口を一つにまとめておくことは、将来モデルを乗り換えるときの負担も小さくします。
27.5用途に応じた使い分け
どちらが優れているかではなく、扱うデータの機密性、求める性能、費用や運用の手間を天秤にかけて、用途ごとに選ぶのが現実的です。
クラウドとローカルは、どちらが一方的に優れているというものではありません。選ぶ際の目安になるのは、 扱うデータの機密性、求める性能の高さ、かけられる費用、運用にさける手間などです。外部に出せない データを扱うならローカルが候補になり、とにかく高い性能を手軽に使いたいならクラウドが向きます。
実務メモ:判断の出発点は「データを外に出せるか」
迷ったときにまず考えるとよいのが、「そのデータを外部の事業者に送ってよいか」です。送ってよいなら、 クラウドの高性能なモデルを手軽に使うのが有力です。送れない機密情報を扱うなら、ローカルが第一候補に なります。そのうえで、求める性能や費用、運用の手間を重ねて判断します。前節のように切り替え可能に しておけば、この判断を後から見直すのも容易です。最初にすべてを決め切る必要はなく、試しながら選んで いけばよいのです。
ここまでで、LLMをどこで動かすかの選択肢が見えてきました。次の章では、実際にLLMをアプリケーションから 呼び出す、その具体的な流れと勘所を見ていきます。
この章の要点
- クラウドLLMとローカルLLMは、設置場所と賢さ(性能)の二点で大きく異なります。
- クラウドは高性能を手軽に使える一方、データを外部に送る点と利用量に応じた費用に注意します。
- ローカルはデータを外部に出さずに使えますが、相応の計算資源が必要で性能は控えめになりがちです。
- 呼び出し部分をまとめておけば切り替え可能に設計でき、用途に応じて使い分けられます。
- 判断の出発点は「データを外に出せるか」。そのうえで性能・費用・手間を重ねて選びます。