DataikuでChatGPTテクノロジーと大規模言語モデルを活用する方法

以前に、[大規模言語モデル (LLM) とは何か、大規模言語モデルがどのように機能するか](https://qiita.com/Dataiku/items/98bc30cec68b3db9c911)、[企業内で LLM を使用する方法](https://qiita.com/Dataiku/items/e697356938fb2eb651c3)について説明しました。また、企業におけるChatGPTテクノロジーの活用事例についても少し掘り下げました。このブログ投稿では、Dataiku プラットフォームで LLM テクノロジーを活用する方法について説明します。

→ [**Ebookはこちらから： 「企業内での ChatGPT、GPT-4、および LLM の使用」**](https://pages.dataiku.com/chatgpt-jp)

## 要約：企業内のLLM
簡単にまとめると、企業で大規模言語モデル (LLM) を使用するために2つの方法があります。

1. gpt-3.5-turbo モデルや gpt-4-0314 モデルを含むOpenAI によって提供される GPT-3 モデルなど、サービスとして提供されるモデルへの API 呼び出しを行う方法。一般に、これらのサービスは、OpenAI などの専門会社、またはアマゾン ウェブ サービス (AWS)、Google クラウド プラットフォーム (GCP)、Microsoft Azure などの大規模なクラウド 事業者によって提供されます。
2. 管理する環境でオープンソース モデルをダウンロードして実行する方法。Hugging Face のようなプラットフォームは、そのようなモデルを幅広く集約しています。 

それぞれのアプローチには長所と短所があります。ただし、一般に、どちらのオプションでも、次の点でトレードオフを伴いながら、小規模のモデルと大規模のモデルから選択できます。

- 潜在的な応用範囲の広さ
- 生み出される言語の洗練さ
- モデル使用のコストと複雑さ

## DataikuとLLM

Dataikuは、Everyday AIのプラットフォームであり、データ専門家とドメイン専門家が協力して日常業務に人工知能 (AI) を組み込むことを可能にします。彼らは協力して、あらゆる規模およびあらゆる業界で新しい AI 機能を設計、開発、導入します。Dataiku を使用する組織は、従業員が大きく能力を発揮できるようになり、会社の将来に向けてAI を作成できるようになります。 

世界中の500社以上の企業がDataikuを使用し、予知保全やサプライチェーンの最適化から、精密エンジニアリングの品質管理、マーケティングの最適化まで、さまざまなユースケースを推進しています。 

Dataikuは、企業内で LLM を使用するためのアプローチの両方をサポートしています。Dataiku は、この特定のユースケースをサポートすることに加えて、AIユースケースを適切に展開するために必要な広範なフレームワークも提供します。これには、データコネクタ、データ準備機能、自動化、ガバナンス機能が含まれます。 

私たちのコアビジョンは、企業が最新の機械学習モデルとニューラル ネットワークを自社の業務に迅速に統合できるようにすることです。このビジョンは LLM にも引き継がれます。

## DataikuのAPI 経由でパブリックモデルを使用する

[Dataikuは、強力なGPT-3 ファミリのモデルを含む](https://www.dataiku.com/product/plugins/nlp-nlg-tasks/)、一般的な OpenAI テキスト補完 API とのインターフェイスを提供します。このプラグインの使用は簡単です。

1. 入力データセットを準備します。Dataikuでは、指示と入力テキストの両方を提供するユースケース (“次のテキストを一人称から三人称に変更して下さい”、”ある日私は長い散歩に行きました…”) と、指示のみが提供されるユースケース (“スミス氏に宛てて 50 ワードの電子メールを書いてください。”）をDataiku のすべてのデータ準備ステップと同様、ビジュアル データ準備ツールまたは選択したプログラミング言語を使用して実行できます。

2. OpenAIテキスト補完 APIとの統合を構成し、[サービスにサインアップするとき](https://openai.com/api/pricing/)に[OpenAIから取得したAPIキー](https://www.dataiku.com/product/plugins/nlp-nlg-tasks/)を追加します。

3. OpenAIのドキュメントを参照して、特定のタスクに適したモデルを選択するとともに、OpenAI APIが提供する追加パラメーターを参照して、呼び出すモデルを選択します。完成したテキストが書き込まれる出力データセットを指定します。 

4. API経由で他のモデルを使用するには、上記のステップ2～4をPythonまたはRレシピを使用して API呼び出しを実行できます。


APIを介して他のモデルを使用するために、[APIコールは、上記のステップ2-4のPythonまたはRレシピ](https://community.dataiku.com/t5/Using-Dataiku/Calling-external-API/m-p/8228)を使用して実現することができます。
## DataikuでオープンソースのLLMを利用する

Dataikuの中核的な強みと設計原則の1つは拡張性です。特定の機能がDataikuでネイティブに利用できない場合、プラットフォームを使用すると、ユーザー側で自ら構築できます。 

これは、Dataikuでネイティブに利用できない他の機械学習モデルと同様に、オープンソースLLMの場合にも当てはまります。プロセスの概要は次のとおりです。これは通常、いくつかのPythonレシピで実行されます。

1. [Hugging Faceトランスフォーマーパッケージ](http://huggingface.co/docs/transformers/index)などの[Pythonパッケージをダウンロード](https://doc.dataiku.com/dss/latest/python/packages.html)してインストールします。
2. 事前トレーニング済みモデルをダウンロードします。
3. 関連するラベルデータがあり、すぐに使用できるパフォーマンスが満足のいくものでない場合は、モデルの再トレーニングまたは微調整を検討します。
4. テキスト生成ステップ (推論と呼ばれます) を実行し、結果を目的のデータストアに書き込みます。
5. (オプション) モデルをビジュアルプラグインにパッケージ化すると、コーディングを行わないユーザーがモデルをタスクに適用できるようになります。 

さらに、 Dataikuは、自然言語テキストを入力として使用する機械学習モデルの構築を支援する、LLM 上に構築された追加の[自然言語処理 (NLP) 機能](https://blog.dataiku.com/tackle-your-text-nlp-in-dataiku)を提供します。たとえば、文の埋め込みにより、[テキスト変数を数値に変換](https://doc.dataiku.com/dss/latest/machine-learning/features-handling/text.html#sentence-embedding)し、視覚的な機械学習インターフェイスで分類や回帰タスクに簡単に使用できるようになります。

## Dataiku を使用したLLMの実際の動作感：
Dataikuは、データエキスパートとドメインエキスパートが協力して日々の業務にAIを組み込むことを可能にする、Everyday AIのためのプラットフォームです。Dataikuの大規模言語モデルのユースケースをご紹介します。

**Dataiku を使用した LLM の実際の動作ビデオは[こちら](https://videos.dataiku.com/watch/Qx3axcKHiFh1zgdyx8sHEp?)から視聴いただけます**