1週間後、質問が届き始める
AIの機能を動かすとは、費用、速さ、品質を毎週つかんでおくことです。福岡のコールセンターで、通話メモの要約機能が先週の月曜日に公開されました。経理部は費用を、現場はなぜ遅い答えがあるのかを聞いてきます。
印象では答えになりません。この演習では、記録した1週間から数字を出し、1ページにまとめます。
このレッスンのゴール
メモ
動いているAIの機能の費用、速さ、品質を報告できる。
今日のキーワード
| ことば | いみ | れい |
|---|---|---|
| トークン | モデルが読み書きする、文章の小さなかけらです。 | |
| レイテンシー | 1件のリクエストにかかる時間です。 | |
| 中央値 | 小さい順に並べたときの真ん中の値です。 | |
| パーセンタイル | 決まった割合のリクエストが収まる値です。 | 95パーセンタイル |
| 品質スコア | 人が評価した答えのうち、よいと評価された割合です。 |
学生が入力するセルは、このプレビューでは空白です。
もっと深く学ぶには
メモ
この演習は、数字を読んで報告します。数字の集め方は「教材」ページのAIのレッスンで学べます。 費用、トレース、信頼性。 AIシステムの評価を詳しく。 AIの機能の運用。
費用はトークンで決まる
モデルの利用料は、ふつう入力と出力のトークンで払います。送る文章が入力のトークンで、答えが出力のトークンです。出力のほうが高いことがよくあります。
つまり費用は、リクエストの数だけでなく、プロンプトの長さでも変わります。下のプログラムは、記録した1週間から、架空の価格で毎日の費用を出します。
やってみよう: 1週間の費用
# 要約機能の、記録した1週間です。
# トークンは1000単位で数えます。価格は練習用の架空のものです。
YEN_PER_THOUSAND_IN = 1
YEN_PER_THOUSAND_OUT = 4
days = [
{"day": "月", "requests": 400, "in": 800, "out": 120},
{"day": "火", "requests": 420, "in": 840, "out": 130},
{"day": "水", "requests": 380, "in": 760, "out": 110},
{"day": "木", "requests": 900, "in": 2700, "out": 300},
{"day": "金", "requests": 410, "in": 820, "out": 125},
]
total_yen = 0
total_requests = 0
for day in days:
yen = day["in"] * YEN_PER_THOUSAND_IN + day["out"] * YEN_PER_THOUSAND_OUT
print(day["day"], yen, "円")
total_yen = total_yen + yen
total_requests = total_requests + day["requests"]
print("1週間:", total_yen, "円、", total_requests, "件")
# 目立つ曜日はどれですか。木曜日を月曜日と同じ数字にして、もう一度実行しましょう。
平均は遅いリクエストを隠す
レイテンシーは、1件のリクエストにかかる時間です。平均は便利そうですが、とても遅い2件が中に隠れてしまいます。
そこで、真ん中の値である中央値と、95パーセンタイルを報告します。時間を小さい順に並べます。95パーセンタイルは、100件中95件が収まる時間です。20人に1人は、それより長く待たされます。
やってみよう: 中央値、平均、95パーセンタイル
# 記録したサンプル: 20件の応答時間 (秒) です。
times = [1.2, 1.1, 1.4, 1.3, 1.2, 1.5, 1.1, 1.3, 1.2, 9.8,
1.4, 1.2, 1.3, 1.1, 1.6, 1.2, 1.3, 8.9, 1.4, 1.2]
ordered = sorted(times)
middle = ordered[len(ordered) // 2]
print("中央値:", middle, "秒")
total = 0
for t in times:
total = total + t
print("平均:", round(total / len(times), 2), "秒")
# 20の95パーセントは19なので、並べて19番目の時間です。
print("95パーセンタイル:", ordered[18], "秒")
品質を見て、1ページにまとめる
答えの質が悪ければ、費用や速さにはあまり意味がありません。毎週、決まったサンプル、たとえば50件の答えを人が評価します。よいと評価された割合が品質スコアです。
そして3つを1ページにまとめます。数字、目標、そして何をするかです。上司がそのページだけで判断できるようにします。
例: 1ページの報告
| 項目 | 今週 | 目標 | 対応 |
|---|---|---|---|
| 費用 | 9,060円 (2,510件) | 8,000円未満 | 木曜日に送ったプロンプトを短くする |
| レイテンシーの中央値 | 1.3秒 | 2秒未満 | なし |
| 95パーセンタイル | 8.9秒 | 5秒未満 | ログで遅いリクエストを探す |
| 品質スコア | 50件中44件がよい | 50件中45件 | 失敗した6件を評価セットに加える |
学生が入力するセルは、このプレビューでは空白です。
よくある誤解
注意
多くの人は、平均の応答時間を見れば、機能の使い心地がわかると考えます。とても遅いリクエストが少しあっても、平均はよく見えてしまいます。遅いほうの利用者の時間がわかるように、95パーセンタイルも報告しましょう。