データ活用やDXがどんどん解る用語集
Few-shotプロンプティング / Few-shot Learning
「Few-shotプロンプティング / Few-shot Learning」
データ活用やDX成功に必要な考え方を、各種キーワードの解説で理解できる用語解説集です。
今回は、ChatGPTなど大規模言語モデルを用いた対話型AIの活用テクニックである「Few-shotプロンプティング / Few-shot Learning」を紹介します。
Few-shotプロンプティング / Few-shot Learningとは
Few-shotプロンプティングとは、ChatGPTなどの対話型のAIを活用する際に、入力(プロンプト)を与える際に入力と出力の例をいくつか与えることにより、より望んだ出力が得られるようにするプロンプトのテクニックです。Few-shot Learningとも呼ばれます。
再学習などを行うことなく、利用時に与えられたパラメータで挙動が変化する大規模言語モデルの従来にはない挙動であり、追加で学習を行うような、あるいは挙動の変更をガイドするような例をユーザが利用時に与えることができます。
目次
どのようなテクニックか(利用例)
まず、Few-Shotプロンプティングを利用していない例を示します。Few-Shotプロンプティングの紹介では、ポジティブかネガティブかを判定させる例や、翻訳を例にした説明がよく使われるので、こちらでもその例を用いて説明します。
以下について、ポジティブかネガティブか中立かを判断してください:
今日は雨が降って微妙だ
中立です。
入力したテキストに対して、ポジティブかネガティブかを判断させています。アンケートの回答内容が好意的なのか批判的なのかを判断するようなタスクで利用することができる能力です。ChatGPTはこんなこともできてしまいます。
ただし、判断能力が高くて回答が精密かというとそうではなく、ChatGPTは驚くほど多くのことができる一方で、怪しい回答をすることもよくあります。この例でもネガティブと答えてほしいところではないでしょうか。「今日は微妙な日だ」と言ったら「良い日じゃない」と遠回しに言っていることが多いでしょうから。
しかしながら「微妙だ」という表現は、明確にポジティブと言っているわけでもネガティブと言っているわけでもないですから、こういう場合には中立と回答してほしい場合もあると思います。つまり、絶対的正解を回答させるというより、自分の都合にあわせて判断してもらうことが望まれる場合があります。
「例」を用いてChatGPTに回答を調整してもらう
つまり、ChatGPTを実用的に利用するためには、用途にあわせて回答を調整してもらう必要があります。そこで使えるのがFew-Shotプロンプティングです。
以下について、ポジティブかネガティブか中立かを判断してください:
今日は晴れていて最高だ // ポジティブ
今日は雨が降って微妙だ // ネガティブ
今日は特に感想がない日だ // 中立
この料理は微妙だ //
ネガティブです。
回答をお願いするに際して、三つユーザが「回答例」を与えています。そしてそれにより、「微妙だ」という表現をネガティブ判定してほしいことをどうやら学習してくれたような挙動に変化しています。
Zero-shot / Few-shot / One-shot
特に例を与えずに普通に回答してもらうような通常の使い方のことを「Zero-shotプロンプティング」と呼ぶことがあります。上記のように、いくつか回答を示して使うやり方を「Few-shotプロンプティング」とか「Few-shot Learning」と呼ばれることがあります。さらに区別して「一つだけ」例を示す使い方を「One-shotプロンプティング」と呼ぶことがあります。
Few-shotプロンプティングの活用方法
いくつか使い方が考えられます。まずは、正しく判断できない入力に対して、入力データと出力例を追加の学習データとして与えるような使い方です。つまり、間違いをなおして補うような使い方ができます。
もう一つは、利用用途にあわせて回答の傾向や基準を変えて調整する使い方です。上記の例では、同じテキストについて、ネガティブと回答する判断基準を変更したような挙動をしているとも取れます。
また、書き方は上記で例として挙げた書き方を必ず守る必要はありません。様々な書き方をしても例を与えたのだと認識してくれますし、どのような書き方が良いのかは日々提案されており、あるいはChatGPTのバージョンが上がると望ましい書き方も変わるはずです。英語での説明において散見される書き方を使いました。
Few-shotプロンプティングの挙動が画期的である理由
なるほど、ちょっと面白いテクニックだな、くらいに思った人もいるかもしれません。しかしこのような使い方ができることは、従来の機械学習ではかった挙動で画期的なことなのです。
従来の常識では、機械学習は事前にデータを用意して学習させて学習済みモデルを作り、利用する時には基本的にはただ利用するだけでした。ちょっと挙動を変えたいと思ったなら、学習する作業に戻って追加データや学習の基準を変えてやり直してモデルを作り直す必要がありました。
ところがChatGPTないしは大規模言語モデルでは、利用時に随時、要望にあわせて追加のデータを与えて挙動を変えるようなことができてしまうのです。
ファインチューニングや転移学習との違い
従来、用途にあわせた調整を行いたい場合にはファインチューニングや転移学習と呼ばれる方法での対応がなされていました。
一般的な用途にあわせて一般的なデータを用いて学習済みモデルを作ります。その後、用途にあわせた追加データを用意し、学習済みモデルに追加で学習することで用途にあわせて調整した学習済みモデルを作る取り組みがなされていました。
ファインチューニングを行えば、追加の例を与えて挙動を変更することは出来たのですが、そのためには、学習済みモデルをコピーして再学習する手間のかかる作業が必要になりますし、用途がふえるごとに個別に学習済みモデルを用意することになります。
Few-shotプロンプティングでは、モデル自体は変更されることがありません。同じ学習済みモデルのまま、新しい問題が解けるようになってしまうのです。追加で学習するコストがかからず、高いスキルのエンジニアに追加学習の作業をしてもらう必要もありません。皆で同じ学習済みモデルを利用しつつ、ニーズに合わせて追加学習を行ったかのような挙動の調整を、手軽に随時行えるわけです。恐るべき利便性の向上がなされています。
ただし、Few-shotプロンプティングでは用途に適した挙動の調整ができない場合には、ファインチューニングの利用(やゼロからの再学習)も検討すべきです。それぞれの手法による再学習において得意なことも異なるため、状況やニーズに合わせてうまく組み合わせて利用することができるはずです。
生成AI/ChatGPTに関係するキーワード(さらに理解するために)
- 生成AI
- 大規模言語モデル(LLM:Large Language Model)
- ChatGPT
- プロンプトエンジニアリング
用語集 コラム一覧
英数字・記号
- 2025年の崖
- 5G
- AES
- AI
- API【詳細版】
- API基盤・APIマネジメント【詳細版】
- BCP
- BI
- BPR
- CCPA(カリフォルニア州消費者プライバシー法)【詳細版】
- Chain-of-Thoughtプロンプティング【詳細版】
- ChatGPT(Chat Generative Pre-trained Transformer)【詳細版】
- CRM
- CX
- D2C
- DBaaS
- DevOps
- DWH【詳細版】
- DX認定
- DX銘柄
- DXレポート
- EAI【詳細版】
- EDI
- EDINET【詳細版】
- ERP
- ETL【詳細版】
- Excel連携【詳細版】
- Few-shotプロンプティング / Few-shot Learning【詳細版】
- FIPS140【詳細版】
- FTP
- GDPR(EU一般データ保護規則)【詳細版】
- GIGAスクール構想
- GUI
- IaaS【詳細版】
- IoT
- iPaaS【詳細版】
- MaaS
- MDM
- MFT(Managed File Transfer)【詳細版】
- NFT
- NoSQL【詳細版】
- OCR
- PaaS【詳細版】
- PCI DSS【詳細版】
- PoC
- REST API(Representational State Transfer API)【詳細版】
- RFID
- RPA
- SaaS【詳細版】
- SaaS連携【詳細版】
- SDGs
- Self-translateプロンプティング /「英語で考えてから日本語で答えてください」【詳細版】
- SFA
- SOC(System and Organization Controls)【詳細版】
- Society 5.0
- STEM教育
- The Flipped Interaction Pattern(解らないことがあったら聞いてください)【詳細版】
- UI
- UX
- VUCA
- Web3
- XaaS(SaaS、PaaS、IaaSなど)【詳細版】
- XML
あ行
か行
- カーボンニュートラル
- 仮想化
- ガバメントクラウド【詳細版】
- 可用性
- 完全性
- 機械学習【詳細版】
- 基幹システム
- 機密性
- キャッシュレス決済
- 業務自動化
- クラウド
- クラウド移行
- クラウドネイティブ【詳細版】
- クラウドファースト
- クラウド連携【詳細版】
- 検索拡張生成(RAG:Retrieval Augmented Generation)【詳細版】
- コンテキスト内学習(ICL: In-Context Learning)【詳細版】
- コンテナ【詳細版】
- コンテナオーケストレーション【詳細版】
さ行
- サーバレス(FaaS)【詳細版】
- サイロ化【詳細版】
- サブスクリプション
- サプライチェーンマネジメント
- シンギュラリティ
- シングルサインオン(SSO:Single Sign On)【詳細版】
- スケーラブル(スケールアップ/スケールダウン)【詳細版】
- スケールアウト
- スケールイン
- スマートシティ
- スマートファクトリー
- スモールスタート(small start)【詳細版】
- 生成AI(Generative AI)【詳細版】
- セルフサービスBI(ITのセルフサービス化)【詳細版】
- 疎結合【詳細版】
た行
- 大規模言語モデル(LLM:Large Language Model)【詳細版】
- ディープラーニング
- データ移行
- データカタログ
- データ活用
- データガバナンス
- データ管理
- データサイエンティスト
- データドリブン
- データ分析
- データベース
- データマート
- データマイニング
- データモデリング
- データリネージ
- データレイク【詳細版】
- デジタイゼーション
- デジタライゼーション
- デジタルツイン
- デジタルディスラプション
- デジタルトランスフォーメーション
- デッドロック/ deadlock【詳細版】
- テレワーク
- 転移学習(transfer learning)【詳細版】
- 電子決済
- 電子署名【詳細版】
な行
は行
- ハイブリッドクラウド
- バッチ処理
- 非構造化データ
- ビッグデータ
- ファイル連携【詳細版】
- ファインチューニング【詳細版】
- プライベートクラウド
- ブロックチェーン
- プロンプトテンプレート【詳細版】
- ベクトル化 / エンベディング(Embedding)【詳細版】
- ベクトルデータベース(Vector database)【詳細版】
ま行
や行
ら行
- 量子コンピュータ
- ルート最適化ソリューション
- レガシーシステム / レガシー連携【詳細版】
- ローコード開発(Low-code development)【詳細版】
- ロールプレイプロンプティング / Role-Play Prompting【詳細版】
わ行
おすすめコンテンツ
まずは無料で「つなぐ」をご体験ください
DataSpider Servistaのデータ連携を、まずはお確かめください。30日間無料でお試しいただけます。
DataSpider Servistaの「つなぐ」を体験できる製品紹介・オンラインセミナーを開催しています。