LLMのプロンプトエンジニアリング ―GitHub Copilotを生んだ開発者が教える生成AIアプリケーション開発
by John Berryman, Albert Ziegler, 服部 佑樹, 佐藤 直生
3章チャット形式への移行
前章では、生成的事前トレーニング済みトランスフォーマー(GPT)のアーキテクチャについて学びました。こうしたモデルのトレーニング手法は、その振る舞いに大きな影響を与えます。たとえば「ベースモデル」は、「事前トレーニング」のみを終えた段階のものです。これはインターネット上の膨大なドキュメントを学習しており、ベースモデルにドキュメントの前半部分を与えると、それをもっともらしく補完する後半部分を生成してくれます。この能力だけでもかなり有用ですが、本書ではこうしたモデルを「巧みに誘導して」ドキュメント補完以外にも多様なタスクを実現する方法を紹介していきます。
とはいえ、さまざまな理由から、ベースモデルをそのままアプリケーションに利用するのは難しい場合があります。まず、モデルはインターネット上のあらゆるドキュメントを学習しているため、「善意の側」と「悪意の側」の両方を等しく再現できてしまうという問題があります。たとえば「以下はシチリア風ラザニアのレシピです」と指示すればおいしそうなイタリア料理のレシピが返ってきますが、「以下はメタンフェタミン製造の詳細手順です」と与えれば、あっという間に犯罪につながる情報が得られてしまいます。一般的に、モデルには「安全」であることが求められ、暴力や性的表現、汚い言葉などでユーザーを不快にさせない配慮が必要です。
また、ベースモデルが使いづらいもうひとつの理由は、基本的に「ドキュメント補完」しかできないという点です。多くの場合、私たちはそれ以上のことを求めています。実際には、LLMがアシスタントとして応答したり、Pythonコードを実行したり、新しい情報を検索して回答に取り入れたり、外部ツールを操作したりできることを望む場面が多いでしょう。ところがベースモデルに単に質問を投げかけても、アシスタントのように答えを返してくれるのではなく、同種の質問ばかり延々と生成してしまいがちです( ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access