研究一覧arrow
LLMに社内ノウハウを学習させる方法の基礎

LLMに社内ノウハウを学習させる方法の基礎

LLMに社内ノウハウを学習させる方法の基礎

通常、LLM(大規模言語モデル)は事前に学習したデータに基づいて質問に対する回答を生成します。そのため、学習データに含まれていない最新の情報や専門的な内容については、正確な回答を得ることが難しい場合があります。一方で、業務でLLMを活用する場合、社内にしか存在しない情報についても高精度な回答を得られるようになれば、業務の効率化がさらに進むと期待されます。そこで、LLMに社内の専門知識やノウハウを効率的に学習させる方法の一つとして、RAG(Retrieval-Augmented Generation)が注目されています。今回は、RAGの基本的な仕組みについて、簡単な実施例を交えながら紹介します。

RAGとは?

RAG(Retrieval-Augmented Generation)は、情報検索(Retrieval)と生成(Generation)を組み合わせて学習済みのLLMの回答精度を向上させるための手法の一つです。入力された質問に対して、外部データベースから関連情報を検索し、それを活用して回答を生成します。これにより、モデルが事前に学習していない内容についても、より正確で信頼性の高い回答を生成できるようになります。

RAGのメリット

  • 情報の正確性向上: データを元に回答を作成できるため、誤情報を減らすことができる。
  • ドメイン特化型の応用が可能: 企業の内部文書や専門分野のデータを組み合わせることで、特定の領域に最適化されたAIシステムを構築できる。
  • 大規模な学習が不要: 必要な情報を都度検索するため、事前にすべての情報を学習させる必要がなく、効率的な運用ができる。

RAGのデメリット

  • データ品質や検索精度に依存: 情報が誤検索されてしまった場合などは、生成される回答の精度も低下する可能性がある。
  • データの管理が必要: 正確な情報や最新情報を活用するためには、適切なデータ管理や更新が求められる。
  • 処理速度の遅延: 検索と生成の2つのステップが必要なため、事前学習済みのモデル単体と比較すると応答速度が遅くなる場合がある。

実施例

PythonのLangChainを用いてRAGシステムを構築した例を紹介します。LangChainはLLMを活用したアプリケーションを構築するためのフレームワークで、外部データソース(データベース、API、ドキュメントなど)とLLMを組み合わせたシステムの開発に役立ちます。

今回は、サンプルとして、LLMに射出成形における不良の対策方法を質問し、RAGを用いないケースとRAGを用いたケースでどのように回答が変化するかを確認します。

RAGのためのデータ準備

RAGで検索するためのデータとして、以下のような射出成形の不良対策に関する文章を用意します。この文章内から質問内容に関連する情報を抽出して回答生成時に考慮することが目標です。これにより、一般的に知られている内容に限らず、社内ルールなどを回答に反映させることが可能となります。

ショートショットが発生した場合は、射出速度や圧力を増加させることで樹脂の充填を促し、必要に応じて金型温度を上昇させることが有効です。また、材料の乾燥が不十分な場合にも発生するため、適切な乾燥を徹底することが重要です。

バリが発生する場合は、型締め力を増加させることで樹脂の漏れを防ぎ、金型の合わせ面に問題がないか確認して修正を行います。また、保圧が高すぎるとバリが発生しやすくなるため、保圧を下げることも有効です。

ウェルドラインを改善するためには、射出速度を適切に調整し、金型温度を上昇させることで樹脂の融合を促すことが効果的です。また、ゲート位置を変更することで樹脂の流れを最適化し、ウェルドラインが目立ちにくい位置に移動させることも有効です。

ジェッティングを防ぐためには、射出速度を低減し、ゲート形状を適切に設計することで樹脂の流れを安定させることが重要です。また、ランナーの設計を見直すことで、樹脂の流れをスムーズにし、乱流の発生を防ぐことができます。

ヒケを抑えるためには、保圧時間や圧力を増加させ、金型温度を低下させることで収縮を抑制することが有効です。さらに、ゲートサイズを拡大することで、より長く適切な保圧がかかるように調整することも効果的です。

シルバーストリークの発生を防ぐためには、材料の乾燥を強化し、射出速度を適切に調整することが重要です。また、シリンダー温度を適正化することで、材料内の揮発成分の影響を抑え、不良の発生を低減できます。

フローマークを防ぐには、射出速度を増加させることで樹脂の流動をスムーズにし、金型温度を上昇させることが有効です。また、ゲート位置を見直すことで、樹脂の流れを最適化し、成形品表面のムラを軽減することができます。

ガス焼けを防ぐためには、金型のベント(ガス抜き)加工を強化し、ガスが適切に排出されるようにすることが重要です。また、射出速度を低減し、背圧を適切に調整することで、ガスの過剰な発生を抑えることができます。

黒点や異物混入を防ぐためには、材料の管理を徹底し、スクリューやシリンダーの清掃を定期的に行うことが必要です。また、使用する樹脂が適切であるかを確認し、不純物が混入しないように注意することも重要です。

ボイド(空洞)の発生を防ぐためには、射出圧力を増加させ、保圧時間を延長することで内部の気泡を押し出すことが効果的です。また、材料の乾燥を強化することで、内部に含まれる水分による気泡の発生を防ぐことができます。

寸法不良を防ぐためには、成形条件を安定化させることが最も重要です。金型の冷却管理を適切に行い、材料の収縮率を考慮した設計を行うことで、精度の高い成形を実現できます。

LLM

LLMはオープンソースであるLlama-3-ELYZA-JP-8B-q4_k_m.ggufを使用します。Llama-3をベースに日本語にも対応させたモデルで、量子化(モデルのパラメータを低精度のビット数で表現してメモリ使用量を低減する技術)によりモデルサイズも小さくなており、CPUでも動作可能です。

実行

まず質問として、以下をLLMへインプットします。

prompt = "射出成形でバリが発生した場合の対策は?"

RAGを用いないケースの回答は以下のようになりました。金型のメンテナンスや成形条件の最適化について言及はあるものの、具体的な型締め力や保圧による対応方法は述べられていません。

以下の対策を検討する。

1.金型のメンテナンス:バリが発生した金型を点検し、必要に応じて交換や研磨を行う。
2.成形条件の最適化:成形条件を最適化し、射出速度や圧力などを調整することで、バリの発生を低減できる。
3.バリ除去の自動化:バリ除去の作業は手動で行うことが多く、時間と労力を要する。このため、バリ除去の自動化を実現するための機器やシステムの開発が求められる。

RAGを用いたケースの回答は以下となりました。準備した文章からバリに関する箇所を抽出して回答してくれています。

1.型締め力を増加させることで樹脂の漏れを防ぐ。
2.金型の合わせ面に問題がないか確認して修正を行う。
3.保圧が高すぎるとバリが発生しやすくなるため、保圧を下げることも有効。


最後に

今回は、RAGの基礎編として、簡単な実施例を交えながら基本的な仕組みについて紹介しました。RAGの精度は、検索されるデータの品質や検索ロジックに大きく依存します。今回は簡単なケースで試していますが、より複雑なケースに対応できるようにするためには、検索ロジック等を改良し、RAGの精度を向上させることが重要です。

No items found.

MAZINでは製造DXに取り組む生産技術者を募集しています

私たちと一緒に、新しい技術で製造業の新たな可能性を切り拓きませんか?詳細は以下のリンクをご覧ください。