AI

【簡単】GoogleColabの制限とは?90分と12時間ルール

  • このエントリーをはてなブックマークに追加
  • LINEで送る

Google Colaboratoryは無料で使えて便利ですが…

一定時間が経過すると処理が制限される場合があるんです。
制限されると、せっかくアップロードしたファイルが削除されたりします。

制限ルールを知らないと、処理をやり直すハメに…

やり直しなんて、ヤダ、ヤダ、超メンドクサイ!

『制限されるタイミングはいつだぁ?』
『制限される条件は何だぁ?』
『何が制限されるんだぁ?』

こんな疑問に答えます。

SE歴25年のオッサンが解説するぞい!
SEおっさん
SEおっさん



スポンサーリンク

GoogleColabの制限について

Google Colaboratoryは無料でGPUが使えるのでAI学習に重宝します。

でも、ちょっと困った時間制限のルールがあるんです。

ふーん
制限されると何が困るの?
たろちゃん
たろちゃん


制限されると何が困るかと言いますと…

実行環境が初期化され、環境を整えて処理を再実行が必要になるのでメンドクサイです。
(無料で使い続けることはできますよ)

制限が働くと実行環境が初期化されて、強制的に接続が切れちゃうんです。
接続が切れるといっても、インターネットの接続が切れるという意味ではありません。
Pythonの実行環境の接続(セッション)が切れるという意味です。

実行環境の接続が切れて初期化されることを「ランタイムリセット」と言います。

SEおっさん
SEおっさん
実行環境がランタイム。
初期化がリセット。
2つ合体してランタイムリセットじゃ
GoogleColabの制限
  • 一定時間が経過すると、Python実行環境が初期化される
  • 実行環境の初期化されることをランタイムリセットという
  • ラインタイムリセットされると実行環境の再整備と再実行が必要

ランタイムリセットが実行されても、GoogleColabを無料で使い続けることはできますが、環境が初期化されるので、環境を整え直して処理を再実行する必要になる訳です。

環境を整え直して再実行は超メンドクサイですよね。

環境が初期化されるので今までの処理が無駄になってしまう事もありえます。

今までの苦労が水の泡なんて
まっぴらゴメン!なんとかしてよ
SEおっさん
SEおっさん
順番に対策を教えるから
ダイジョブじゃ

これから下記の順番でやさしく解説します。
【ランタイムリセットで制限される内容】⇒【一定時間経過のルールと対策】



スポンサーリンク

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分経過するとランタイムがリセットされます。

新しいノートブックを開くと新しいインスタンスが起動します

はぁ?インスタンスって何
まさかラーメン?
たろちゃん
たろちゃん

SEおっさん
SEおっさん
ザックリいうと
起動したノートブックのことじゃ
あまり深く考えんでエエぞ

では、話を戻して…

ノートブックを開くと、新しいインスタンスが起動します。
ノートブックのインスタンス起動後に、セッションが切断されて90分経過するとランタイムリセットされます。
これを90分ルールといいます。

具体的にどんな場合がアウトなの
たろちゃん
たろちゃん
SEおっさん
SEおっさん
例をあげて説明するぞい♪
【例1】90分ルールでアウト
  1. 新しいノートブック起動後に、PCがスリープ状態に入る

    PCがスリープ状態に入ると、ノートブックのセッションは切断状態とみなされます

  2. PCがスリープ状態のまま、90分以上経過するとランタイムリセット
  3. 起動したノートブックが強制的に初期化される

つまり、PCのスリープ状態になって90分経過するとアウトってわけです。

 

【例2】90分ルールでアウト
  1. ノートブックが起動してから、何にもしない

    キーボードに触れず、マウスを1mmも動かさずに、しばらく時間が経過したらセッションは切断状態とみなされます

  2. 切断状態とみなされてから、更に何もせずに90分間経過するとランタイムリセット
  3. 起動したノートブックが強制的に初期化される

90分に1度はマウスを動かすなり、キーボードに触れるなどして、ノートブックをアクティブにしなければアウトってわけですね♪

GoogleColabの90分ルールの回避策

GoogleColabの90分ルールの回避策は…

  1. PCの自動スリープの設定はOFFにする
  2. 90分に一度はPCを触る

    マウスを動かす、キーボードを触る等

です。

意味もなくマウスを動かすの
メンドクサイ!
SEおっさん
SEおっさん
大丈夫じゃよ
別の方法もあるぞい

意味もなくマウスを動かさなくて済む方法は…

GoogleChromeなどのブラウザで利用可能なアドオンAuto Refreshを使用する方法です。
「Auto Refresh」はブラウザを定期的にリロードします。
リロードするとセッションが切れたとみなされなくなるので、このアドオンをインストールすれば簡単に90分問題を回避することができる訳です。

90分ルールの回避策
  • パソコンは自動スリープOFFに設定にする
  • GoogleChromeにアドオン機能「AutoRefresh」をインストールして自動リロードする

GoogleColabの12時間ルール

新しいノートブックを開くと新しいインスタンスが起動します。

新しいインスタンスを起動してから12時間経過すると、ノートブックのセッションの接続有無にかかわらず起動したノートブックは強制的に初期化されてしまうのです。
これを12時間ルールといいます。

残念ながら、12時間ルールの根本的な回避策はありません。
ノートブック起動後、12時間経過するとランタイムリセットにより実行環境は初期化され、実行前の状態に戻ってしまいます。

SEおっさん
SEおっさん
これも良い対策があるぞい!

GoogleColabの12時間ルールの対策

GoogleColabの12時間ルールの対策は…
12時間経過する前に学習モデルをGoogleドライブ等に保存することです。

定期的にモデルを保存することで、12時間経過してランタイムリセットされても保存しておいた学習済みモデルの重みを読込み、学習を再開できます。

具体的なイメージは、こんな感じ。

12時間ルールの対策
  1. モデルの学習結果を定期的にGoogleドライブへ保存
  2. 12時間経過後にランタイムリセット
  3. 保存したモデルの学習結果を読み込んで再実行


スポンサーリンク

GoogleColabの制限とは?90分と12時間ルール まとめ

いかがでしたでしょうか?

GoogleColabの90分・12時間ルールと制限事項について説明いたしました。

ポイントを振り返ってみましょう。

ポイントまとめ
  • GoogleColabの制限とは
    実行環境が初期化されて、環境を整え直す必要がある状態のコト
  • GoogleColabのランタイムとは
    GoogleColabの実行環境のコト
  • 制限されるタイミング
    90分と12時間
  • 90分ルール
    実行のセッションが切れてから90分経過するとランタイムがリセット
  • 12時間ルール
    新しいインスタンスを起動してから12時間経過するとランタイムリセット

『GoogleColabの使い方ってどうすんの?』という方は、こちらもどうぞ!

やさしいGoogleColaboratoryの使い方【5つの基本】

GoogleColabの制限を覚えて、是非楽しいAIライフを歩んでください~♪

SEおっさん
SEおっさん
ここまで読んでくれてありがとう!

「記事を読んでもわからないトコがある」「内容が変だよ」
という時は、お気軽にコメントください♪

「もっとSEおっさんに詳しく聞きたい。何かお願いしたい!」
という時は、ココナラまで。メッセージもお気軽に♪

LINEでのお問合わせも受付中!
LINE公式アカウント

メッセージをお待ちしています!

取得資格
  • 応用情報技術者
  • Oracle Master Gold
  • Java SE Gold
  • Java EE Webコンポーネントディベロッパ
  • Python エンジニア認定データ分析
  • 簿記2級


スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • LINEで送る

コメント

  1. かん より:

    どうもありがとうございます 具体的な数字で分かりやすかったです。1つ質問があるのですが、無料で使う場合 1日の使用上限は時間で決められるのですか?それとも データ使用量などですか?

    1. SEおっさん より:

      コメントありがとうございます!とても励みになります。
      1日の使用上限というよりも…
      12時間経過するとセッションが切れるので、使用を継続する場合は1からやり直しになります。
      私の知る限りでは、データ使用量の上限はがあるという話は聞いたことはありません。
      「ずーっと使用はできるけれど、途中でセッションが切れるのでやり直しになっちゃう」
      という理解でおります。

コメントを残す

*