即戦力化　ディープラーニング実習（第一週）

# 【第1週】Colabの環境設定と基礎確認

## はじめに

本記事では、深層学習の実習環境として Google Colab を用い、以下の内容を確認します。

- Google Colabの基本操作
- Hugging Faceの使い方とモデル検索
- PyTorch / TensorFlowの導入と動作確認
- CPU / GPU の違いと計算速度の比較

<a href="https://colab.research.google.com/drive/158Qk6DTUEs27QvAQDBdhnGfHgqmw0sCv?usp=sharing">今週のコード </a>

---

## 1. Google Colabとは？

[Google Colab](https://colab.research.google.com/) は、Pythonコードをクラウド上で実行できる無料のノートブック環境です。

特徴：
- GPU や TPU を無料で利用可能
- Google Drive との連携
- ノートブック形式（Jupyter互換）

この記事を読む方なら、きっとご存じでしょう。とはいえ、実習教材として形式的に必要なので、改めて説明します。  
もう知っているよという方は、次へ進みましょう。

ただし、Google Colabの無料版には注意点もあります。計算時間が長すぎると、接続が切れることがあります。

時間をお金で買いたい方、あるいは懐具合に余裕がある方は課金を検討してください。

課金コースにはいくつか種類がありますが、一番安い **Colab Pro** を選ぶとよいでしょう。  
2025年3月27日現在、月額 **1,179円** ですが、頻繁に使うなら十分元はとれます。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526647/dcca03bb-855e-42a8-8397-cf3e6c57292a.png" width="50%">

---

## 2. Hugging Faceの使い方

[Hugging Face](https://huggingface.co) は、自然言語処理や画像処理などの事前学習済みモデルを簡単に検索・利用できるプラットフォームです。

現時点では、公開されている深層学習モデルはここに集約されていると思って構いません。

学習データの制約により一般公開できないモデルも、研究目的を限定とした認証により利用できるようになってきました。

下にHugging Face のヘッダ部分を記します。Model以外にも、Datasets等も保存されています。

![hugginfaceHeader.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526647/a4e8955d-3eac-4f5d-b801-79897deba5dc.png)


### 🔍 モデル検索の例：

では実際にモデルを検索してみましょう。
検索窓に　deepseek-ai と入れてみましょう。下図のようになりましたか？

![hugginFace.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526647/dc95706b-99dc-4e05-872e-a448553f678a.png)

例では、Deepseek というモデルが出てきています。

- DeepSeek v3（大規模言語モデル）:  
  👉 [https://huggingface.co/deepseek-ai/DeepSeek-V3-0324](https://huggingface.co/deepseek-ai/DeepSeek-V3-0324)

### 実習

少し古いモデルになりますが、日本語対応のBERTというモデルを探してみましょう

- 日本語BERTモデル:  
  👉 [https://huggingface.co/models?language=ja&search=bert](https://huggingface.co/models?language=ja&search=bert)

### ✅ モデルを使ってみる（DeepSeek-v3）

Hugginface のモデルページでは、実際にお試し実行することができます。

右側の窓に、「モデルの特徴を教えて」とか質問を送ってみました。

![chat.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526647/0f5a7248-e16c-43c2-a551-c9013e19858a.png)

### 実習
みなさんも、DeepSeek v3 とのチャットを試してください。


---

## 3. PyTorch / TensorFlowの導入と動作確認

PyTorch と TensorFlow は、どちらも **ディープラーニング（深層学習）を実装するための代表的なライブラリ**です。

- **PyTorch**：柔軟な記述ができ、研究用途で広く使われています  
- **TensorFlow**：Google 製で、商用サービスやプロダクトにも多く採用されています

これらのライブラリでは、**GPU（グラフィック処理装置）** を活用することで、大規模な行列演算を高速に処理できます。

ここでは、PyTorch と TensorFlow が正しく使えるか、そして GPU が使えるかどうかを実際に確認してみましょう。

### ✅ PyTorch の確認

まずは PyTorch をインポートして、バージョンと GPU の使用可否をチェックします。

Google Colabで次のコードを実行してみてください。

```python
import torch
print("PyTorchバージョン:", torch.__version__)
print("GPUが使えるか:", torch.cuda.is_available())
```
ランタイムでCPUを選択していると次のようになります。
![GPUfalse.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526647/92fdac6b-c580-4a2b-b693-414d4415ea17.png)

GPUは使えないことがわかりました。

では、ランタイムをT4GPUに変更し、再度実行してみましょう。

![GPUtrue.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526647/9e0ad33d-c254-4be7-93c9-782ade9d0e16.png)


すると、GPUが使えることがわかります。

ディープラーニングではGPUを使うことによって、高速処理が可能になります。
必要に応じて、CPUとGPU(T4 GPU等)を使い分けられるといいですね。

### ✅ TensorFlowの確認

次に TensorFlow も同様に確認してみましょう。

```python
import tensorflow as tf
print("TensorFlowバージョン:", tf.__version__)
print("GPUが使えるか:", tf.config.list_physical_devices('GPU'))
```

ランタイムがCPUの場合、空リストが返ってきてGPUが使えません。

![TensorFlowFalse.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526647/a212227a-d151-42ff-8576-3e1544577a44.png)

ランタイムがT4 GPUの場合、次のようにデバイスが GPU:0 と使えることがわかります。

![TensorFlowTrue.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526647/b5b4187d-0bdf-463b-a5ae-a5010653e51a.png)

GPUの動作確認はできましたか？  
次は、PyTorchとTensorFlowで実際に簡単なコードを実行してみましょう。

## 4. CPU / GPU の違いと計算速度の比較（PyTorch）

GPUがあると何が嬉しいのか？
それは「処理が速い」という点に尽きます。

以下は、CPUとGPUで行列積（行列の掛け算）を繰り返すコードです。GPUが使える場合とそうでない場合の時間差を体感してみましょう。

Google Colabに次のコードをコピペし、実行します。
そして、ランタイムがCPUの場合と、T4 GPUの場合とで、実行時間に差があることを確認しましょう。

```python
import torch
import time

# 実行デバイスの選択（GPUが使えるならcuda）
device = "cuda" if torch.cuda.is_available() else "cpu"
print("使用デバイス:", device)

# 大きなランダム行列を作成
x = torch.rand(10000, 10000).to(device)

# 処理時間の測定
start = time.time()
for _ in range(10):
    y = x @ x  # 行列積を10回繰り返す

# GPUの場合は同期をとる
if device == "cuda":
    torch.cuda.synchronize()

end = time.time()
print(f"{device}での計算時間: {end - start:.2f}秒")
```
私がgoogle colab で実行した所、次の時間になりました。

| デバイス | 処理時間 |
|----------|------------------|
| CPU      | 325.74秒       |
| GPU      | 4.87秒         |

![CompareTime.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526647/8bfab393-9df6-4115-b8bc-8f88c584c990.png)

---

ね、GPUを使うと速いでしょう？

---

## おわりに

今回は、Google Colabの基本的な使い方から、Hugging Faceでのモデル検索、そしてPyTorch・TensorFlowの動作確認までを一通り体験しました。  
また、GPUの有無による計算速度の違いも、実際に手を動かして体感できたのではないでしょうか。

ディープラーニングの学習は、「動かしてナンボ」です。まずは環境構築でつまずかず、スムーズに走り出せることが何より大切です。

次回は、いよいよ事前学習済みのモデルを使って、**文章の分類や生成**に挑戦していきます。  
ぜひColabを使いこなして、自分の手でAIを動かしていきましょう！

それではまた、【第2週】でお会いしましょう。

👉 [第2週の記事を読む](https://qiita.com/takenakayoichi/private/d410681de72322725554)