2024年版: 俺たちは最新のGoogle Colabをまだ知らない
前置き
Web UI上でPythonを書いて実行できる,Google ColabはGoogle Compute Engine(AWSでいうEC2)をバックエンドとしています.
私の中ではPython 3.8でVMのOSはUbuntu 20.04だったのですが,最近触ったところ,アップデートに気づいたのでメモがてらまとめました.
※ 本記事はGoogle Colabの解説をしていますが,あまりプログラミング初心者向けではないかもしれません.
Ubuntuのバージョンは22.04
以下のコマンドで確認しました.
!cat /etc/os-release
出力はこのような感じ.
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
ちなみに,Google Colabの公式ドキュメントには Ubuntu 18.04.3
でした.補足に書きますが,おそらく2017年かそれより前に書かれたものと推測されます.時が経つのは早いものです.
The entire colab runs in a cloud VM. Let's investigate the VM. You will see that the current colab notebook is running on top of Ubuntu 18.04.3 LTS (at the time of this writing.)
Pythonのバージョンは3.10.12
Pythonのバージョンは3.10です.下記のコマンドで確認できます.
!python --version
Python 3.10.12
Python 3.9, 3.10では型に関する記法や新しいSyntaxが追加されています.これらの文法が実際にGoogle Colab上で動くか確認してみましょう.
UnionをPipe記法が動くか確認する
Python3.10の追加機能で,Union型をパイプで書くことができます.
def hello_world(age: int|str) -> None:
print(f'こんにちは、{age}歳です')
hello_world(20)
実際に記述してみたところ,問題なさそうでした.
Match文が動くか確認する
もう一つぐらい試してみます.Python 3.10ではmatch文が追加されています.
def http_status(status):
match status:
case 400:
return "Bad request"
case 404:
return "Not found"
case 418:
return "I'm a teapot"
case _:
return "Something else"
print(http_status(200))
print(http_status(400))
こちらも問題なく動いていそうです.
HTTP Response 418: I'm a teapot
ってなんだよという方は以下をご覧ください.
drive.mountは不要
ディレクトリのボタンをクリックします.Google Driveのマークを押すと確認画面が出てくるので承認します.
するとGoogle DriveがMountされます! 早速,tree
commandで確認してみましょう. tree
commandはaptでインストールできます.
!apt install tree
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
tree
0 upgraded, 1 newly installed, 0 to remove and 45 not upgraded.
Need to get 47.9 kB of archives.
After this operation, 116 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 tree amd64 2.0.2-1 [47.9 kB]
Fetched 47.9 kB in 1s (66.6 kB/s)
Selecting previously unselected package tree.
(Reading database ... 123576 files and directories currently installed.)
Preparing to unpack .../tree_2.0.2-1_amd64.deb ...
Unpacking tree (2.0.2-1) ...
Setting up tree (2.0.2-1) ...
Processing triggers for man-db (2.10.2-1) ...
!tree -L 2
.
├── drive
│ └── MyDrive
└── sample_data
├── anscombe.json
├── california_housing_test.csv
├── california_housing_train.csv
├── mnist_test.csv
├── mnist_train_small.csv
└── README.md
3 directories, 6 files
つまり,もうこれを書かなくても良いということです!嬉しい!
from google.colab import drive
drive.mount('/content/drive')
AI補完が無料ユーザーでも動く
Google Colabは2023年6月27日にAIの機能を追加しています.
当初はUSのPro+(一番高いプラン)のユーザーのみだったのですが,実は現在,日本の一般ユーザーでも使えます.こちらは,2024年の6月18日にアナウンスがありました.確認して気づいたのですが,最初のリリースからちょうど1年ぐらいですね.
つまり,一般ユーザーでもこのような補完を使うことができます.
普段GPUぶん回す職種ではないのでColab Proに回ってきたら契約して使おうかなと思っていたのですが,一般ユーザーにも開放になって正直驚きました.
まとめ
Google Colabの最新のインフラや機能を確認してきました.
最新動向が気になる方は,Google Colabは公式がアップデートをアナウンスしてくれるので公式TwitterをFollowをオススメします.
補足: Compute ResourceをGoogle ColabのUIで確認する
Google ColabのUI上でCompute Resourceを確認する場合,[Runtime] > [View Resources]
をクリックします.
補足: Google Colabの公開は2017年後半
調べたところ,下記の記事に記載がありました.
Google have released Colaboratory: a web IDE for python, to enable Machine Learning with storage on the cloud — this internal tool had a pretty quiet public release in late 2017, and is set to make a huge difference in the world of machine learning, artificial intelligence and data science work.
また,Google ColabのGitHubのOrganizationからcolab-toolsのcommit logを辿っていくと2017年の下記のCommitに当たります.
参照:
Discussion