AIモデルの仕組み
AIモデルの動作について説明します。
AIモデルは、超高性能な汎用APIエンドポイントのようなものだと考えられます。支払い処理にStripe APIを統合したり、SMS送信にTwilioを使うのと同様に、さまざまなタスクの実行にAIモデルを呼び出せます。
最大の違いは次の点です:毎回同じ結果が得られるとは限りません。
決定論的 vs. 確率的
従来のソフトウェアは決定論的です。ある入力でプログラムを再実行すれば、同じ出力が得られます。開発者は想定された経路を処理するコードを明示的に書いています。
AIモデルはそうではありません。確率的です。つまり、同じ入力でもモデルがたどる経路は複数あり得ます。
AIのメンタルモデルの最初のポイントは、毎回同じ答えが保証されると決して想定しないことです。
AIモデルが経路を選ぶとき、何を出力するかをどう決めているのでしょうか。内部では、次の2点に基づいて次に返すテキスト片を予測しています。
- モデルが「学習」した情報
- 入力として与えるもの (「プロンプト」)
「What is the meaning of life? Respond with a single word」のようなプロンプトが与えられると、モデルは次に表示する単語を予測します。これには重要な意味が2つあります。
- 同じモデルとプロンプトでも、同じ質問に対して異なる応答になることがある
- 1語という制約を含め、モデルは指示に必ずしも従うとは限らない
どの記述がAIモデルの応答を最もよく表していますか?
モデルの選び方
どのモデルを使うべきか、どう判断すればよいでしょうか?
AIモデルは、知能レベル、応答速度、コスト、得意分野が異なります。高速かつ低コストのモデルもありますが、より深い思考を要する高度な技術課題は苦手な場合があります。
一方で、遅くて高価なモデルは、タスクが複雑な場合に、より長く「考え」、問題に取り組めます。
究極的には、非常に賢く、極めて高速で、かつ手頃なモデルが理想です。そうしたモデルが現時点で存在するかは、ユースケースによります。
ソフトウェア開発では、現行モデルは多様なコーディングタスクに十分対応できます。
新しいモデルはほぼ毎月リリースされ、AIの最先端は継続的に更新されています。つまり今後は、より賢く、コーディングや計画、その他のソフトウェア開発タスクの解決にさらに適したモデルが登場すると期待できます。
モダリティ
モデルとは、さまざまな方法、つまり「モダリティ」でやり取りできます。例えば、チャットボットへのテキスト入力、画像の生成、仮想AIとの会話、さらにはプロンプトからの動画生成などです。
モデルの品質は急速に向上しているため、最新のモデルリリースに注目することが重要です。例えば、数年前は動画生成モデルはあまり良くありませんでしたが、現在ではかなりリアルになっています。
ソフトウェア開発におけるモダリティの活用例は次のとおりです:
- 作りたいプロダクトや機能をテキストで説明し、AIと協力して計画を立てる
- 実装しようとしているUIのモックやデザインを画像で共有し、余白や色が適切でない場合はAIモデルにフィードバックする
- 音声で話した内容を文字起こししてAIモデルへの入力とし、長文や詳細な指示をタイピングする手間を省く
AIモデルを効果的に使う方法に入る前に、その限界を理解しておくと役立ちます。次のレッスンでさらに詳しく見ていきましょう。