Deep Learning 人工知能 環境構築

Google Colaboratry の GPU による学習の高速化

更新日:

 書籍「ゼロから作る Deep Learning」② 自然言語処理編の、言語学習において、「Google Colablratry」の GPU 機能を使うことで、約20倍、高速化することができました。

 それを行う過程で、たくさんの問題に出会い、多くの方に助けていただきました。せっかくなので、情報をシェアしたいと思います。

Google Colaboratry とは

 Google が提供してくれている無料のクラウドサービスです。
詳細は、後日、触れたいと思います。

なぜ、Google Colaboratory のサービスを使ったか

 最大の理由は、無料で、GPU 機能を利用できるからです。
現在の私の環境では、簡単な言語学習でも2日間ほどかかってしまいます。

どのような問題が発生したか

 大きく3個の問題が起こりました。

1 Python ファイルを import できない

① 問題点自体が分からない
② ファイルへのアクセス方法が分からない
③ ドライブのマウントができない
④ パスが通らない
⑤ import 方法が分からない

 いくつもの壁を乗り越え、Pythonファイルの import をすることができました。最初の問題点が分からないときは、SNS の仲間の協力を得ることで突破しました。

 次に、②〜⑤の問題点の解決には、インターネット検索によるネット上の情報が役に立ちました。その際、横で検索をサポートしてくれた息子の協力も大きかったです。

2 GPU 機能が利用できない

 やっと、Google Colaboratory のサービスを利用して、プログラムを実行することができたので、GPU機能を有効にして実行することにしました。ところが、また問題が発生しました。

 ① GPU機能を有効にしたことによるプログラムの異常動作
 ② GPU機能の有効化に必要な環境設定

3 ファイルの更新ができない

 今回、最大の難関と言っても良いかもしれません。考えられる限りの対応を行いましたが対応できず、諦めるしかない状況になりました。

 結論を言うと、Google Colaboratry において行うファイルの更新は、リアルタイムに反映されないということです。そのことが分かるまで、無駄な時間を費やすことになりました。情報の共有の意味から、その過程と対応策を示します。

 ① 謎のエラーメッセージ
 ② sys 命令が実行できない
 ③ ファイルの更新ができない

Google Colaborarory の使用に関する注意点(解決策)

① ファイルへのアクセス方法

 Google Colaboratory においては、例え同じフォルダにあっても、そのファイルにアクセスするためには、ドライブをマウント(要認証)して、ファイルへのパスを通す必要があります。その際、使用されるドライブやパスの名称は、世代や環境で異なるため、注意が必要です。以下は、私の環境の場合です。

# Google Colaboratry

from google.colab import drive # ドライブのマウント
drive.mount(‘/content/drive’)

import sys # パスの設定
sys.path.append(‘/content/drive/My Drive/Colab Notebooks/’)

from optimizer import SGD # ファイルのインポート
  ~

② GPU機能の有効化の方法

 GPU機能を有効にするためには、プログラム内でフラグを、True にするだけでは動作しません。システム内のGPUスイッチをオンにする必要があります。

# Google Colaboratry
  ~
config.GPU = True # GPUの有効化
  ~
「編集」タグ → 「ノートブックの設定」 →
ハードウェアアクセラレータを「GPU」に設定

③ ファイル更新時の注意点

 このGoogleのシステムにおいては、ファイルを更新したときには注意が必要です。画面上で変更されたことになっていても、それは実行時に反映されていないことがあります。

 従って、ユーザは、変更した内容そのものが無効であると錯覚して、次々に変更を繰り返しますが、同じ状況(エラーメッセージ)が続き、戸惑うことになります。

JupyterLab のファイルを更新したら、毎回ランタイムの初期化を行う

「ランタイム」タグ → 「ランタイムの再起動」
importされるファイルを更新したら、実行時のディレクトリ内にあるキャッシュファイルを削除する

Googole Drive 内に自動で作られるファイル「__pycache__」を削除する

-Deep Learning, 人工知能, 環境構築

Copyright© 深層・機械学習/人工知能学習の記録 , 2024 All Rights Reserved Powered by STINGER.