News

お知らせ

2023年5月1日 投稿:stak編集部

EmbeddingやFine-tuningって何? / LLM(ChatGPT)を軸に広がる新しいプラットフォームの時代

こんにちは!!

現役高校3年生のstak, Inc.で働いているニノ(二宮)です!

もう5月…!どんどん時間が過ぎますね、私は今「AIチャット(Lina)」というLINEサービスを日本最大のAIプラットフォームにしようと全力で取り組んでいます!

そして先月はOpenAIのCEOが日本に来て首相と話したり、ChatGPT Pluginsが一部で利用可能になりました。

そこで今回はテック企業ならではの情報として、AI × レンタルスペースについて分かりやすく紹介していきます!

LINEでChatGPTを使ってみよう

stakでは現在AIプロダクトの開発を複数行っています。

そして、全てのハブになるNLPを用いたサービス、「AIチャット(Lina)」を開発しています。

このサービスは、OpenAIが提供しているChatGPT APIをベースに開発しており、他のAIを用いて画像や音声にも対応しています!

広島に住んでいる方!駅や電車で広告を出していますので、見かけたらぜひTwitter等で教えて下さい!

追加は以下のリンクから!

https://lin.ee/elXlo4e

知っておこう!Vector DatabaseとVector Search

Vector DatabaseとVector Searchは、ベクトルデータを保存・検索するための技術です。

例えばGoogle検索やAmazonでも活用されている技術です。

そして、OpenAIにあるEmbeddingもVector技術を使っています。(EmbeddingはVector化するという意味です)

これらは、情報を効率的に管理し、意味的に関連するアイテムを検索する際に役立ちます。

以下に、それぞれの概要と例を示します。

  1. Vector Database: ベクトルデータベースは、ベクトル(数値のリスト)を保存および管理するためのデータベースです。

これは、言語モデルや画像認識システムで生成される埋め込みベクトルのような高次元のデータを格納するのに適しています。

ベクトルデータベースの一般的な機能には、データの追加・削除・更新、ベクトル間の距離計算があります。

例: ある企業が、商品の特徴を示すベクトルを格納するためにベクトルデータベースを使用しているとします。

商品Aは[0.5, -0.3, 0.8]、商品Bは[-0.1, 0.6, 0.2]というベクトルで表されています。

ベクトルデータベースは、これらの商品ベクトルを効率的に格納し、管理するのに役立ちます。

  1. Vector Search: ベクトル検索は、ベクトルデータベース内の似たベクトルを検索するための手法です。

これにより、高次元のベクトルデータに対して高速な近似検索が可能になります。

ベクトル検索は、コサイン類似度やユークリッド距離などの尺度を使って、ベクトル間の類似性を計算します。

例: 前述の企業が、顧客の好みに基づいて類似した商品を推薦したいとします。

顧客の好みを表すベクトルが[0.4, -0.2, 0.7]だった場合、ベクトル検索を使って、顧客の好みに近い商品ベクトルをデータベースから検索できます。

この例では、商品Aのベクトル[0.5, -0.3, 0.8]が顧客の好みに近いため、商品Aを推薦することができます。

Vector DatabaseとVector Searchは、自然言語処理、画像認識、音声認識などの分野で幅広く利用されています。

これらの技術は、機械学習モデルが生成する埋め込みベクトルや表現を利用して、より効率的で意味的に関連するデータ検索を可能にします。

具体的な応用例には以下のようなものがあります。

  1. 文書検索: 自然言語処理モデルが生成する文書埋め込みベクトルを利用して、意味的に関連する文書を検索することができます。

たとえば、検索クエリのベクトル表現とデータベース内の文書ベクトルとの類似性を計算し、最も関連性の高い文書を返すことができます。

2. 顔認識: 顔画像から生成されたベクトル表現を使って、類似の顔を持つ画像を効率的に検索できます。

これは、犯罪捜査やソーシャルネットワークでの友人探しのようなシナリオで役立ちます。

3. 音楽および映画の推薦: 音楽や映画のベクトル表現を使って、顧客の好みに近いコンテンツを効率的に検索し、パーソナライズされた推薦を提供することができます。

4. 商品推薦: 商品の特徴を表すベクトルデータを使って、顧客の購買履歴や好みに基づいた商品推薦を行うことができます。

これにより、オンラインショッピングでの購買体験が向上します。

5. 医療画像検索: 医療画像のベクトル表現を利用して、特定の病気や状態を示す画像を効率的に検索することができます。

これは、医師が迅速かつ正確に診断を行う際に役立ちます。

Vector DatabaseとVector Searchを用いることで、自社の情報を学習させたチャットボットを作ったり、自社のレンタルスペース物件のレコメンドをLLMと組み合わせて最適化することが出来ます。

Vector Databaseは、PineconehyperDBが人気です。

Fine-tuningってなんだ?

Fine-tuningは、事前学習された大規模な言語モデル(LLM)を特定のタスクやドメインに適応させるためのプロセスです。

OpenAIのLLMは、GPT-4アーキテクチャをベースにしており、インターネット上の多くのテキストデータを通じて広範な知識が学習されています。

しかし、特定のタスクやドメインに対してより正確で効果的な結果を得るためには、モデルをFine-tuningする必要があります。

Fine-tuningのプロセスは以下のように行われます。

  1. タスクやドメインに適したデータセットの収集・作成: まず、モデルが学習すべきタスクやドメインに関連するデータセットを収集または作成します。

例えば、医療ドメインに関する質問応答システムを作成したい場合、医療関連の質問とその回答からなるデータセットが必要になります。

2. データセットの前処理: 収集されたデータセットは、モデルが学習しやすい形式に整形・前処理されます。

これには、テキストのトークン化、バッチ化、シャッフルなどが含まれます。

3. Fine-tuningの実行: 事前学習済みのLLMに対して、収集されたデータセットを用いて追加の学習(Fine-tuning)を行います。

学習率、バッチサイズ、エポック数などのハイパーパラメータを調整しながら、モデルのパフォーマンスを向上させます。

4. モデルの評価と調整: Fine-tuningが完了したら、モデルのパフォーマンスを評価します。

通常、データセットの一部をテストデータとして使用し、モデルの精度や他の評価指標を計算します。

必要に応じて、ハイパーパラメータを調整し、再度Fine-tuningを行うことがあります。

例として、英語から日本語への翻訳タスクを考えてみましょう。

  1. データセットの収集・作成: このタスクでは、英語と日本語のペアで構成された翻訳データセットが必要です。

これには、並行コーパス(英語と日本語の文がペアになっているデータセット)を収集または作成します。

例えば、英語と日本語の並行テキストを含むオープンソースのデータセットや、自分で翻訳した文書などを利用することができます。

2. データセットの前処理: 英語と日本語のテキストデータをモデルが学習しやすい形式に整形・前処理します。

これには、テキストのトークン化(単語やサブワード単位に分割)、バッチ化(一度に処理するデータのまとまりを作成)、シャッフル(データの順序をランダム化)、およびパディング(異なる長さのシーケンスを揃えるために特殊なトークンを追加)などが含まれます。

3. Fine-tuningの実行: 事前学習済みのLLMに対して、収集された英語-日本語のデータセットを用いて追加の学習(Fine-tuning)を行います。

学習率、バッチサイズ、エポック数などのハイパーパラメータを調整しながら、翻訳タスクに対するモデルのパフォーマンスを向上させます。

4. モデルの評価と調整: Fine-tuningが完了したら、モデルの翻訳パフォーマンスを評価します。

通常、データセットの一部をテストデータとして使用し、翻訳の精度や他の評価指標(例えば、BLEUスコア)を計算します。

必要に応じて、ハイパーパラメータを調整し、再度Fine-tuningを行うことがあります。

このように、Fine-tuningを通じて、事前学習済みのLLMを特定のタスクやドメインに適応させ、より正確で効果的な結果を得ることができます。

Vector DatabaseとFine-tuningって何が違うのさ?

Vector DatabaseとFine-tuningは、どちらも機械学習モデルを特定のタスクやドメインに適応させるための手法ですが、目的とアプローチが異なります。

  1. Fine-tuning: Fine-tuningは、事前学習された大規模な言語モデル(LLM)を特定のタスクやドメインに適応させるためのプロセスです。

ここでは、タスクやドメインに関連する追加のデータセットを用いて、モデルの重みを更新し、モデルのパフォーマンスを向上させます。

このプロセスには、データセットの収集・作成、前処理、モデルの学習・評価などが含まれます。

2. Vector Database: Vector Databaseは、機械学習モデルが生成したベクトル表現(特徴ベクトル)を効率的に保存・検索するためのデータベースです。

これにより、類似性検索やクラスタリング、分類などのタスクを高速かつ効果的に実行できます。

Vector Databaseは、機械学習モデルが生成したベクトル表現を利用して、特定のタスクやドメインに関連する情報を検索・分析する際に使用されます。

要するに、Fine-tuningはモデル自体を改善するプロセスであり、Vector Databaseはモデルが生成した特徴ベクトルを効率的に利用するための手法です。

両者は異なる目的とアプローチを持っており、機械学習モデルの適用範囲を拡大し、性能を向上させるために組み合わせて使用されることがあります。

OpenAIのCEOが来日!これからどうなる?

4月10日にOpenAIのCEOであるSam Altmanが来日し、「ChatGPTなどの利活用と日本への提案」について政府と話しました。

現在OpenAIは「OpenAI Tour 2023」と題して世界中の17都市に訪問しています。

その中に東京が含まれており、今回は東京にSam Altmanが来ました。

当日の発言要約がこちらです。

  • GPTの日本語での学習量を増やす
  • 日本へのLLMのノウハウ共有
  • GPT-4の画像生成機能などの優先提供

現在海外ではChatGPTの規制がどんどん強化されているので、規制があまりない日本に力を入れようとしているように見えます。

そして、当日のスライド資料が公開されています↓

https://note.com/api/v2/attachments/download/fed41176475c3ca58d56d4faf5046a62

ChatGPT Pluginsが一部で利用可能に!

先月ついにChatGPT Pluginsが利用可能になりました。

現時点でChatGPT PluginsはChatGPT Plusに登録していて、ウェイトリストに登録している極一部のユーザーにのみ提供しています。

ウェイトリストには以下のリンクから登録できます。

https://openai.com/waitlist/plugins

レンタルスペースの質問をAIに答えてもらおう

今回はウェブサイトなどに埋め込むことで自社のデータを元に質問を自動で答えてくれる「Chatbase」というプロダクトを紹介します。

Chatbaseは、アップロードしたPDFファイルや入力したテキスト、Webサイトのページを解析して、チャットボットを作成するサービスです。

生成したチャットボットをWebサイトに埋め込み、問い合わせ対応を自動化できます。

例えば、コーポレートサイトに埋め込むと住所や代表者名等を答えてくれたり、ECサイトに埋め込むと商品の説明や配送期間について自動で答えてくれます。

これを応用し、レンタルスペースの物件情報などを学習させることで、AIが顧客からの質問を自動で答えてくれるようになります。

実際の導入方法をYouTubeで紹介していますのでぜひ御覧ください!

https://youtube.com/shorts/5ZbPApZK0Fs

YouTube

YouTubeにAIを活用する方法や実際に活用して出来たものを投稿しています!

https://youtube.com/@stakinc/shorts

LINE公式アカウント

当メルマガで紹介したaddcari(アドカリ)のレンタルスペースは現在LINE公式アカウントから予約を受け付けております。

SNS運用代行

addcariの運営会社である株式会社stakではSNSの運用代行も行っております。

「SNS運用を行いたいけど時間がない」「何をしたら良いかわからない」という方、ぜひstakにご連絡ください。

stakの最新情報を受け取ろう

stakはブログやSNSを通じて、製品やイベント情報など随時配信しています。
メールアドレスだけで簡単に登録できます。