だれかが動くようにする
AIエンジニアは、言語モデルの上に役に立つ機能を作り、それが正しく動くことを示す人です。名古屋の部品メーカーの総務部には、社員から毎日同じ質問が届きます。
総務部は、社内規程から答える機能をほしがっています。それを作り、答えが正しいと示し、公開した後も動かし続ける人が必要です。多くのチームで、その人をAIエンジニアと呼びます。
このレッスンのゴール
メモ
AIエンジニアが作るもの、確かめるもの、動かすものを説明できる。
今日のキーワード
| ことば | いみ |
|---|---|
| モデル | 例から学んで、答えを出すプログラムです。 |
| 機能 | 製品が利用者のためにする、ひとつのことです。 |
| 評価 | 答えを、正解がわかっているケースと比べることです。 |
| 評価セット | 決まった質問と、期待する答えの組です。 |
| ガードレール | 危ない入力や出力を止める確認です。 |
| モニタリング | 動いているシステムの数字を見守ることです。 |
学生が入力するセルは、このプレビューでは空白です。
作る、確かめる、動かす
AIエンジニアが新しいモデルを一から学習させることは、あまりありません。すでにあるモデルを使って、機能を作ります。プロンプトとコードを書き、多くの場合、会社の文書を探す仕組みも作ります。
次に、評価セットで確かめます。最後に動かします。費用、速さ、品質をモニタリングで見守り、ずれてきたところを直します。
スキルの地図
この仕事には、いくつかの分野のスキルが必要です。コードを読んで直せるくらいのPythonが要ります。サーバーからモデルを安全に呼べることも要ります。テストケースを書き、数字を読むことも要ります。
何より大切なのは、トレードオフを説明する力です。何を得て、何を失い、なぜそう言えるのかを話します。表は、それぞれのスキルをどこで学べるかを示します。
スキルを学べる場所
| スキル | 何に使うか | どこで学ぶか |
|---|---|---|
| Pythonとターミナル | コードを読み、直し、実行する | 技術職の基本、仕事でのソフトウェア開発 |
| モデルを安全に呼ぶ | キーをサーバーに置き、返事を確かめる | AIと一緒にコードを書く |
| テストと測定 | 評価セットを作り、正解率を出す | 機械学習エンジニアリング |
| データとログ | 1週間分の数字を読む | データ分析とデータエンジニアリング、DevOpsとプラットフォーム |
| もっと深く | 文書の検索、エージェント、評価の詳しいやり方 | 「教材」ページのAIのレッスン |
学生が入力するセルは、このプレビューでは空白です。
やってみよう: 自分のスキルの地図
# 1 (初めて) から 5 (自信がある) で、自分を採点します。
ratings = {
"Python": 3,
"コードからモデルを呼ぶ": 2,
"評価セットを作る": 1,
"ログと数字を読む": 2,
"トレードオフを説明する": 4,
}
TARGET = 3
for skill in ratings:
if ratings[skill] < TARGET:
print("次に学ぶ:", skill)
else:
print("準備できている:", skill)
# 数字を自分に合わせて変えてから、実行しましょう。
仕事の大半は確かめること
モデルは、同じ質問に別の日には違う答えを返すことがあります。ですから、うまくいったデモが1回あっても、機能が動く証拠にはなりません。
AIエンジニアは、質問と期待する答えをまとめた評価セットを持っています。何かを変えるたびに全部を実行し、正解の数を数えます。下のプログラムは、記録したサンプルでそれを行います。
やってみよう: 記録したサンプルを採点する
# 記録したサンプルです。5つの質問と期待する答え、
# そしてテストのときに社内問い合わせの機能が答えた内容です。
expected = ["14日", "金曜日", "様式B2", "いいえ", "2週間"]
answered = ["14日", "月曜日", "様式B2", "いいえ", "わかりません"]
right = 0
for position in range(len(expected)):
if expected[position] == answered[position]:
right = right + 1
else:
print("違う答えの質問:", position + 1)
print("正解:", right, "/", len(expected))
# 2つ目の答えを "金曜日" に変えて、もう一度実行しましょう。
よくある誤解
注意
多くの人は、AIエンジニアの仕事は新しいモデルの学習が中心だと考えます。大きなモデルを一から学習させるのは研究の仕事で、行うチームはごく少数です。多くのAIエンジニアは既存のモデルで機能を作るので、時間はコード、評価セット、モニタリングに使います。