クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

AIの説明責任とモデルカード

このレッスンのあとで: モデルを文書にまとめ、運用中の変化を見守る計画を立てられる。

55分のレッスンコマンド1件JupyterLab データサイエンスラボ:pandas、Matplotlib、scikit-learn をブラウザーで

AIには、責任者と見守りが要る

AIの説明責任とは、モデルが間違えたときに、誰が何を知り、どう直すかを、あらかじめ決めておくことです。モデルは作って終わりではありません。使い始めてからも、データが変わると、精度が落ちます。

このレッスンでは、モデルの目的と限界を1枚の文書に書き、変化を見守る計画を立てます。

このレッスンのゴール

メモ

モデルを文書にまとめ、運用中の変化を見守る計画を立てられる。

キーワード

ことばいみ
説明責任AIの判断について、理由を示して答えること
モデルカードモデルの目的と限界を書いた1枚の文書
監視運用中のモデルの様子を、続けて確かめること
ドリフト運用中に、データの様子が変わっていくこと
責任者モデルの結果に答える、名前のある人

学生が入力するセルは、このプレビューでは空白です。

モデルカードに、限界まで書く

モデルカードは、モデルの目的と限界を書いた1枚の文書です。使う人が、このモデルに何を任せてよいかを、判断できるようにします。

できることだけでなく、できないことと、測った公平性の数も書きます。責任者の名前も書きます。

例: 融資の審査AIのカード

項目書くこと例
目的何のためのモデルか融資の審査を手伝う
使ったデータどの記録で学んだか過去3年の記録2000件
できないこと任せてはいけない使い方18歳未満の審査には使わない
公平性の数グループ別の通過率の差AとBの差は0.05
責任者答える人の名前審査課の課長
見直しの時期いつ確かめ直すか3か月ごと

学生が入力するセルは、このプレビューでは空白です。

運用中に、データは変わっていく

モデルは、学んだ時のデータに合わせて作られています。使い始めてから、世の中が変わると、データの様子も変わります。これがドリフトです。

ドリフトに気づくには、運用中のデータの平均などを、決まった間隔で記録して、基準と比べます。これを監視といいます。

基準から離れたら知らせる

コード: python
# 30日ごとの平均です。最初の値を基準にします。
means = [190, 194, 249, 256, 278, 352]
base = means[0]
for m in means:
    change = (m - base) * 100 // base
    print(m, change, "%")
    if change > 25:
        print("  確認が必要です")
# 25 を 50 に変えて、確認が必要な回数がどう変わるか見てください。

ラボで、30日ごとの平均を並べる

ラボの自転車データを、30日ごとのかたまりに分けて、平均を並べます。季節で平均が大きく動く様子を、ドリフトに見立てます。

左から順に、1つ目のかたまりから12個目までの平均です。360日分を使います。

30日ごとの平均の台数

コマンド
docker exec jupyter python3 -c "import csv; r=list(csv.DictReader(open('hires.csv'))); a=[int(x['hires']) for x in r]; print([round(sum(a[i:i+30])/30,1) for i in range(0,360,30)])"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

よくある間違い

注意

モデルは、作った時の精度が、ずっと続くと考えがちです。けれど、世の中が変わると、同じモデルでも精度は落ちます。作って終わりにせず、決まった間隔で、基準と比べてください。

責任者と、人が確かめる道を決める

見守りの計画には、3つを決めます。何を測るか、どこまで変わったら知らせるか、誰が対応するかです。

結果に納得できない人が、人に見直しを頼める道も残します。その見直しの記録も、残します。

例: 見守りの計画

何を測るか基準変わったら誰が対応するか
申請者の平均年収最初の週の値10%を超えたら知らせる審査課の課長
通過率の差公開した時の0.050.10を超えたら止めるモデルの責任者
見直しの依頼毎月の件数増えたら原因を調べる審査課の担当者

学生が入力するセルは、このプレビューでは空白です。

さらに挑戦: ラボの値で試す

ラボの12個の平均を、課題の first_alert に入れてください。限界を25にすると、何番目で最初の知らせが出ますか。

それは、本物のドリフトでしょうか。季節の変化かもしれません。見分けるために、何を足して記録しますか。

このラボとソースについて: JupyterLab データサイエンスラボ:pandas、Matplotlib、scikit-learn をブラウザーで

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。