際際滷

際際滷Share a Scribd company logo
MLデザインパタ`ン秘T
2021/04/27
(12)Checkpoints
2
3. モデル僥パタ`ンModel Training
1. デ`タ燕Fパタ`ン Data Representation
2. }燕Fパタ`ンProblem Representation
3. モデル僥パタ`ン Model Training
4. レジリエントサ`ビングパタ`ン Resilient Serving
5. 壅F來パタ`ンReproducibility
6. 販のあるAIパタ`ンResponsible AI
3
3-2. Checkpoints
4
Checkpoints まとめ
古勣
チェックポイントでは、モデルの頼畠な彜Bを協豚議に隠贋して、何蛍議に僥した
モデルを旋喘辛嬬にする。
}
モデルが}jになるほど、僥に駅勣なデ`タセットが寄きくなり、
謹くのパラメ`タ`を隔つため、モデルのサイズが寄きくなり、バッチの方もえる。
Y惚議に僥にLいrgがかかる。}k伏rに嶄g泣から壅_したい。
盾Q圭隈
光エポックのKわりに、モデルの彜Bを隠贋して、壅_辛嬬にする。
5
盾Q圭隈
光エポックのKわりに、モデルの彜Bを隠贋して、壅_辛嬬にする。
¢ Q協直なら、光嶄gノ`ドや光リ`フノ`ドの嚠y
¢ 侘モデルなら、嶷みとバイアスの恷K
¢ NNの栽、試來晒v方とLれ咾琳悗
なども弖紗する。
モデルの僥をポイントから壅_竃栖るように隠贋されたモデルファイル
★チェックポイントという
6
隠贋l業
かく隠贋するなら、バッチごとに隠贋
ただし、チェックポイントは賞寄であり、 IOのオ`バ`ヘッドあり
★フレ`ムワ`クは宥械、 すべてのエポックのKわり にチェックポイントをO協する
 コ`ルバックのオプションあり
checkpoint_path
= '{}/checkpoints/taxi'.format(OUTDIR)
cp_callback = tf.keras.callbacks.ModelCheckpoint(
checkpoint_path,
save_weights_only=False,
verbose=1)
history = model.fit(x_train, y_train,
batch_size=64,
epochs=3,
validation_data=(x_val,y_val),
verbose=2,
callbacks=[cp_callback])
7
why it works
TensorFlowとKeras
¢ 竃薦パスにチェックポイントがつかった栽、そこから僥を徭嘖揄_
¢ 僥を恷兜から_兵するには、仟しい竃薦ディレクトリから
TensorFlowプレイグラウンド 楳い泣とオレンジ弼の泣を曝eするための蛍匂僥
畠悶の蛍を僥フェ`ズ
phase1
蛍を僥フェ`ズ
phase2
^僥フェ`ズ
phase3
8
Early stopping
チェックポイントrごとのvalidation error が
^僥で紗し兵めるか
 ◎
^僥ならプロセスK阻(early stopping)
チェックポイントのl業を貧げると
early stopping は validation error の弌さな咾
^業に郡鬉垢襪海箸砲覆蕕覆い
しきい、淋O協
valildation error がN參貧のチェックポイント
で個鋲なし
★ early stopping をk咾垢
9
チェックポイントのxk
validation error が紗し兵めても、しばらく僥をA佩した圭が措い尖喇
1. 僥の匯違彜rフェ`ズと錬富彜rフェ`ズ
2. エラ`の屈嶷週和F
1. 僥の匯違彜rフェ`ズと錬富彜rフェ`ズ
匯違議な彜rに醜泣を
栽わせて僥
錬富な彜rに醜泣を
栽わせて僥
trainingデ`タとvalidationデ`タでサ
ンプリングが音頼畠
匯r議に validation
error が紗する
辛嬬來あり
10
チェックポイントのxk
validation error が紗しはじても、しばらく僥をA佩した圭が措い尖喇
1. 僥の匯違彜rフェ`ズと錬富彜rフェ`ズ
2. エラ`の屈嶷週和F
2. エラ`の屈嶷週和F
モデルを寄きくすると仝 double descent々エラ`酋嶷週和F鵑軟こる
★ validation error が週和彜Bから匯業貧Nし、壅び週和し兵める
Deep Double Descent: Where Bigger Models and
More Data Hurt
https://arxiv.org/abs/1912.02292
11
early stopping の旗紋返粁
early stopping の旗紋返粁で^僥雙崙に叨羨つもの
¢ L2屎t晒
well-behaved な僥ル`プtraining loss/validation error がともに崩する彜Bに
¢ 僥のM佩彜rの辛晒
モデルの僥にrgがかかる栽に叨羨つ、テストデ`タにして
¢ 屎t晒が early stopping よりれている尖喇
屎t晒坤禰`タセット畠悶を聞喘してモデルの嶷みを筝できる
early stopping坤禰`タセットの10イら20イojにして、いつ唯峭するかをQ協する駅勣がある
¢ ドロップアウト、}j業の詰いモデルの聞喘 など
さまざまなC亠僥の}で屈嶷週和がk伏
★ early stopping は恷mではない盾Q貨のリスクあり、よりLくトレ`ニングする圭がm俳
12
デ`タの蛍護
¢ デ`タを仝デ`タセット々と仝uデ`タセット々に蛍護が容X
¢ デ`タセットが寄きいほど、聞喘辛嬬なモデルは}jにより屎_に
¢ gY粁A┘皀妊襯〒`キテクチャ、トレ`ニング返隈、ハイパ`パラメ`タ冥沫
は early stopping ではなく、より寄きなモデルで僥が李ましい
¢ コスト砿尖枠 ★ early stopping xk
¢ 娼業枠 ★ チェックポイントxk
13
Fine-tuning
仟しいデ`タでモデルを協豚議に壅僥する駅勣がある栽
¢ フェ`ズ2のチェックポイントから壅_
¢ 僥楕はかなり詰い坤皀妊襪ゝ弔砲笋錣蕕此⇔{屁辛嬬に
恷Kチェックポイントからeのモデルの僥_兵
★ warm start
14
寄トデ`タセットとエポックの}
テラバイトの寄トデ`タセットのリスク
¢ 僥がLrgに式ぶ
¢ メモリ音怎
¢ 余嶄でエラ`K阻する
  ◎
エポックの旋喘は}がある
1. エポックの方は屁方
エポック方rg勣するので、エポックの余嶄でモデル崩したら余嶄K阻する圭が措い
2. エポックごとのチェックポイント
よりl業互くO協する圭が措い
3. デ`タセットがrgのU^で寄きくなる栽
4. 蛍柊K双、シャッフルを旋喘した僥
15
畠悶エポック方1に岷し
箭坤禰`タ方が15M
岷し念 エポック方 =15 で僥
◎
岷し瘁 ステップ方 =143,000、バッチサイズ=100 で僥
     光ステップでミニバッチに児づく嶷み厚仟
     エポック方=1犁
これにより、エポックの余嶄でモデル崩したら余嶄K阻辛嬬
NUM_STEPS = 143000
BATCH_SIZE = 100
NUM_CHECKPOINTS = 15
cp_callback = tf.keras.callbacks.ModelCheckpoint(...)
history = model.fit(trainds,
validation_data=evalds,
epochs=NUM_CHECKPOINTS,
steps_per_epoch=NUM_STEPS // NUM_CHECKPOINTS,
batch_size=BATCH_SIZE,
callbacks=[cp_callback])
16
デ`タを弖紗する栽
さらに100,000のサンプルを弖紗する栽
ステップ方をやすのではなく、 トレ`ニングサンプルt方 を匯協に隠つこと
◎
∀襯┘櫂奪の秘
steps_per_epoch=トレ`ニングサンプルt方 /(バッチサイズ*チェックポイント方)
NUM_TRAINING_EXAMPLES = 1000 * 1000
STOP_POINT = 14.3
TOTAL_TRAINING_EXAMPLES = int(STOP_POINT * NUM_TRAINING_EXAMPLES)
BATCH_SIZE = 100
NUM_CHECKPOINTS = 15
steps_per_epoch = (TOTAL_TRAINING_EXAMPLES //
(BATCH_SIZE*NUM_CHECKPOINTS))
cp_callback = tf.keras.callbacks.ModelCheckpoint(...)
history = model.fit(trainds,
validation_data=evalds,
epochs=NUM_CHECKPOINTS,
steps_per_epoch=steps_per_epoch,
batch_size=BATCH_SIZE,
callbacks=[cp_callback])
17
Trade-Offs and Alternatives まとめ
¢ Early stopping
validation error が紗しはじても、しばらく僥をA佩した圭が措い
$ 僥の匯違彜rフェ`ズと錬富彜rフェ`ズ
$ エラ`の屈嶷週和F
¢ Early stopping の旗紋返粁
$ L2屎t晒
$ 僥のM佩彜rの辛晒
$ ドロップアウト、}j業の詰いモデルの聞喘など
$ コスト砿尖枠 ★ early stopping xk
$ 娼業枠 ★ チェックポイントxk
¢ 寄トデ`タならエポックでなく、ステップで僥K阻崙囮
¢ デ`タをやすなら、トレ`ニングサンプルt方を匯協に隠つ∀襯┘櫂奪秘

More Related Content

Ml desginpattern 12_checkpoints_21210427