Google Colaboratoryは無料で使えて便利ですが…
一定時間が経過すると処理が制限される場合があるんです。
制限されると、せっかくアップロードしたファイルが削除されたりします。
制限ルールを知らないと、処理をやり直すハメに…
やり直しなんて、ヤダ、ヤダ、超メンドクサイ!
『制限されるタイミングはいつだぁ?』
『制限される条件は何だぁ?』
『何が制限されるんだぁ?』
こんな疑問に答えます。
GoogleColabの制限について
Google Colaboratoryは無料でGPUが使えるのでAI学習に重宝します。
でも、ちょっと困った時間制限のルールがあるんです。
制限されると何が困るの?
制限されると何が困るかと言いますと…
実行環境が初期化され、環境を整えて処理を再実行が必要になるのでメンドクサイです。
(無料で使い続けることはできますよ)
制限が働くと実行環境が初期化されて、強制的に接続が切れちゃうんです。
接続が切れるといっても、インターネットの接続が切れるという意味ではありません。
Pythonの実行環境の接続(セッション)が切れるという意味です。
実行環境の接続が切れて初期化されることを「ランタイムリセット」と言います。
初期化がリセット。
2つ合体してランタイムリセットじゃ
- 一定時間が経過すると、Python実行環境が初期化される
- 実行環境の初期化されることをランタイムリセットという
- ラインタイムリセットされると実行環境の再整備と再実行が必要
ランタイムリセットが実行されても、GoogleColabを無料で使い続けることはできますが、環境が初期化されるので、環境を整え直して処理を再実行する必要になる訳です。
環境を整え直して再実行は超メンドクサイですよね。
環境が初期化されるので今までの処理が無駄になってしまう事もありえます。
まっぴらゴメン!なんとかしてよ
ダイジョブじゃ
これから下記の順番でやさしく解説します。
【ランタイムリセットで制限される内容】⇒【一定時間経過のルールと対策】
GoogleColabのランタイムリセットで制限される内容
ランタイムとはGoogleColabのPython実行環境のことです。
GoogleColabは仮想サーバなので仮想サーバの実行環境ということになりますが…
仮想だろうが物理だろうが、利用する僕たちにとってはあまり関係ありません。
GoogleColabが仮想サーバである理由をザックリいうと、物理サーバの資源を、複数の仮想サーバに割当て物理資源を有効に活用するためです。
実行環境であるランタイムがリセットされると、使えなくなるモノ達が結構あります。
GoogleColabのランタイムリセットで使えなくなるモノ
ランタイムリセットされると使えなくなるモノ達です。
- 実行中プログラムやimportされたパッケージ、使用した変数
- インストールしたパッケージ
! pip install などでインストールしたパッケージです - GoogleColabへアプロードしたファイル
- GoogleColabがマウントしたGoogleドライブ
特にGoogleColabへアップロードしたファイルが無くなるのは、AI学習にとってダメージが大きいです。
入力のデータセットが全て消えちゃうので…
チーンって感じです。
さて、一定時間経過するとランタイムリセットされるのですが具体的な基準はナニでしょうか?
次は90分ルールと12時間ルールと言われる一定時間の制限ルールと対策について説明します。
GoogleColabのランタイムリセット:90分ルールと12時間ルール
ランタイムリセットのタイミングは大きく分けて2つあります。
それが90分ルールと12時間ルールと言われるモノです。
GoogleColabの90分ルール
実行のセッションが切れてから90分経過するとランタイムがリセットされます。
新しいノートブックを開くと新しいインスタンスが起動します
まさかラーメン?
起動したノートブックのことじゃ
あまり深く考えんでエエぞ
では、話を戻して…
ノートブックを開くと、新しいインスタンスが起動します。
ノートブックのインスタンス起動後に、セッションが切断されて90分経過するとランタイムリセットされます。
これを90分ルールといいます。
- 新しいノートブック起動後に、PCがスリープ状態に入る
PCがスリープ状態に入ると、ノートブックのセッションは切断状態とみなされます
- PCがスリープ状態のまま、90分以上経過するとランタイムリセット
- 起動したノートブックが強制的に初期化される
つまり、PCのスリープ状態になって90分経過するとアウトってわけです。
- ノートブックが起動してから、何にもしない
キーボードに触れず、マウスを1mmも動かさずに、しばらく時間が経過したらセッションは切断状態とみなされます
- 切断状態とみなされてから、更に何もせずに90分間経過するとランタイムリセット
- 起動したノートブックが強制的に初期化される
90分に1度はマウスを動かすなり、キーボードに触れるなどして、ノートブックをアクティブにしなければアウトってわけですね♪
GoogleColabの90分ルールの回避策
GoogleColabの90分ルールの回避策は…
- PCの自動スリープの設定はOFFにする
- 90分に一度はPCを触る
マウスを動かす、キーボードを触る等
です。
メンドクサイ!
別の方法もあるぞい
意味もなくマウスを動かさなくて済む方法は…
GoogleChromeなどのブラウザで利用可能なアドオンAuto Refreshを使用する方法です。
「Auto Refresh」はブラウザを定期的にリロードします。
リロードするとセッションが切れたとみなされなくなるので、このアドオンをインストールすれば簡単に90分問題を回避することができる訳です。
- パソコンは自動スリープOFFに設定にする
- GoogleChromeにアドオン機能「AutoRefresh」をインストールして自動リロードする
GoogleColabの12時間ルール
新しいノートブックを開くと新しいインスタンスが起動します。
新しいインスタンスを起動してから12時間経過すると、ノートブックのセッションの接続有無にかかわらず起動したノートブックは強制的に初期化されてしまうのです。
これを12時間ルールといいます。
残念ながら、12時間ルールの根本的な回避策はありません。
ノートブック起動後、12時間経過するとランタイムリセットにより実行環境は初期化され、実行前の状態に戻ってしまいます。
GoogleColabの12時間ルールの対策
GoogleColabの12時間ルールの対策は…
12時間経過する前に学習モデルをGoogleドライブ等に保存することです。
定期的にモデルを保存することで、12時間経過してランタイムリセットされても保存しておいた学習済みモデルの重みを読込み、学習を再開できます。
具体的なイメージは、こんな感じ。
- モデルの学習結果を定期的にGoogleドライブへ保存
- 12時間経過後にランタイムリセット
- 保存したモデルの学習結果を読み込んで再実行
GoogleColabの制限とは?90分と12時間ルール まとめ
いかがでしたでしょうか?
GoogleColabの90分・12時間ルールと制限事項について説明いたしました。
ポイントを振り返ってみましょう。
- GoogleColabの制限とは
実行環境が初期化されて、環境を整え直す必要がある状態のコト - GoogleColabのランタイムとは
GoogleColabの実行環境のコト - 制限されるタイミング
90分と12時間 - 90分ルール
実行のセッションが切れてから90分経過するとランタイムがリセット - 12時間ルール
新しいインスタンスを起動してから12時間経過するとランタイムリセット
『GoogleColabの使い方ってどうすんの?』という方は、こちらもどうぞ!
やさしいGoogleColaboratoryの使い方【5つの基本】
GoogleColabの制限を覚えて、是非楽しいAIライフを歩んでください~♪
「記事を読んでもわからないトコがある」「内容が変だよ」
という時は、お気軽にコメントください♪
「もっとSEおっさんに詳しく聞きたい。何かお願いしたい!」
という時は、ココナラまで。メッセージもお気軽に♪
LINEでのお問合わせも受付中!
LINE公式アカウント
メッセージをお待ちしています!
- 応用情報技術者
- Oracle Master Gold
- Java SE Gold
- Java EE Webコンポーネントディベロッパ
- Python エンジニア認定データ分析
- 簿記2級
どうもありがとうございます 具体的な数字で分かりやすかったです。1つ質問があるのですが、無料で使う場合 1日の使用上限は時間で決められるのですか?それとも データ使用量などですか?
コメントありがとうございます!とても励みになります。
1日の使用上限というよりも…
12時間経過するとセッションが切れるので、使用を継続する場合は1からやり直しになります。
私の知る限りでは、データ使用量の上限はがあるという話は聞いたことはありません。
「ずーっと使用はできるけれど、途中でセッションが切れるのでやり直しになっちゃう」
という理解でおります。