DeepSeek を AWS で動かす！（イベント参加レポート）

# はじめに

先日、AWS Startupsで開催された以下のイベントに参加しました。

https://aws.amazon.com/startups/events/deepseek-workshop?lang=ja

DeepSeek自体は触れたことがあったものの、AWSで動かすというところに惹かれて参加しました。
ハンズオンも体験できましたので、備忘も兼ねて簡単ですが記録しておきます。
（当日はWorkshopsで実施できたので、セルフホストでもお金の心配なく触れました）

# LLM、DeepSeekR1について
詳細に説明していただきましたが、私の知識・説明能力では正確に伝えられないので、ベタ書きメモを貼り付けます。

・生成AIのトレンドは事前学習から事後学習のトレンドへ

・Reasoning（論理的推論）
　LLMは知っている知識をしゃべるだけのところからスタート。算数や論理的推論が不得意だった。
　Chain-of-Thought(CoT)：LLMに中間的な推論ステップを生成させて、論理的推論能力を向上させる
　Zero-shot CoT：ステップバイステップで考えようと伝える
　Multi-path CoT with Self-consistency：複数経路の推論を行なってそれらの回答から最終的な結果を導く
　Tree of thought(ToT)：木構造のような思考プロセスで解を探索
 　　などの手法で改良を重ねてきた

・DeepSeek-R1-Zero
　事前学習済み　DeepSeek-V3-Baseをベースに強化学習としてGRPOを採用
 　Group Relative Policy Optimization：LLMが出してくる回答をまとめて評価する、報酬モデルをルールベースで置き換えて計算効率を高めた
　（強化学習の仕方が上手かった）
 
・DeepSeek-R1
　強化学習する前に少量のコールドスタートデータ（数千くらい）と複数ステージの学習を行う
　Reasoning重視の強化学習
　600B
　複数のタスクにおいて高度な論理的推論能力を発揮

・DeepSeek-R1-Distill
　R1が大き過ぎるので、蒸留モデルで小型に
　Distill-QwenとDistill-Llamaの２種類

・AWSのAI/ML向けインスタンス
　TrainiumのTrnX、InferentiaのInfX
　NVIDIAのP5eなど

・軽く始めるならサーバレスがオススメ

・セルフホステッドだと外部向け通信を制限できるので、DeepSeekのようなモデルでも外部流出のリスクが排除できる
  
# ハンズオン1 MarketplaceでDeepSeekを選んでBedrockで使う

ハンズオンの内容は[こちらのGithub](https://gist.github.com/hariby/c6b4d1f7ceee8e976b8b752c388d7ae5)で共有されました。


BedrockのModel catalogからDeepSeekを検索して選択
![Deep1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/57a63bc1-3456-47cb-ba8f-777890cc7960.jpeg)

Deployを選択
![Deep2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/e45bd6ba-5322-4a34-b3f3-57e320d47210.jpeg)

適切なインスタンスサイズを選択してDeploy
![Deep3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/112973f2-146b-4c3d-9744-0e8bf54da935.jpeg)

ちょっと時間がかかりましたがデプロイ完了
![Deep4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/019eb449-cdb7-48fb-9881-a30cda1ad676.jpeg)

質問してみたけど、うまく回答が得られず。。
![Deep5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/490fcb4f-5c16-4bd0-aa1d-cf35804a7886.jpeg)

:::note info
以下の形でプロンプトを組む必要があるとのこと。
<｜begin▁of▁sentence｜><｜User｜>＊＊＊質問＊＊＊<｜Assistant｜>
:::

その後、何回かやってみましたが、いまいちな回答しか得られませんでした。
（きっと私の質問の仕方がよくない）

# ハンズオン２ DeepSeekをSageMaker AIでデプロイして使う
全部入りになったAmazon SageMaker AIを開いて、ノードブックインスタンスの作成を選択
![Deep6.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/7d4cda7c-7b73-4ccb-ab7a-abf5485c8c14.jpeg)

デフォルト値のまま、インスタンスを作成
![Deep7.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/e83e3bc2-9fc2-472e-8137-8fd363ef91c7.jpeg)

インスタンスができたら、JupyterLabを開く
![Deep9.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/972b419c-fece-4e5c-89ae-cce3c47af679.jpeg)

私はNotebookのconda_python3を選択して進めました
![Deep8.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/82b8491d-a6ca-464a-9fcd-fa789aeeec67.jpeg)

Hugging FaceでDeepSeekのモデルを探して

https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-8B

右側のDeployからAmazon Sagemakerを選択
![Deep10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/0c7363a0-0a2b-40e2-9b17-9ebe01c311f4.jpeg)

ポップアップにてSageMaker SDKを選択してコピー
![Deep11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/a988fa1d-6f80-41b0-8e93-9ba83a38f49b.jpeg)

ノートブックに貼り付けて実行
![Deep12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/624a5a89-6c7c-421c-852f-14ec0eac779e.jpeg)

しばらく待つと回答が得られました。
![Deep14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/2b2ebbc8-65ba-41fd-aadd-5e81575b8108.jpeg)

マネコンで見ていたら、エンドポイントが作成されていました。
![Deep13.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/f1dc02d2-af40-46aa-86fd-3c9bb4e87c9e.jpeg)

質問にも答えてくれます。
![Deep15.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/d0c3e984-3880-402c-9e31-6f01481f8934.jpeg)

こちらの質問はいまいち。
![Deep16.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/bd6d39c5-449d-4746-9c01-f805878e6525.jpeg)

プロンプトにヒントをちょっと追加したらうまくいきました。
![Deep17.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/6151a13a-5c01-4d74-8a79-4ac0a33b90e3.jpeg)

（参考）AWS Inferentia & TrainiumのパターンもHugging Faceのポップアップで別ボタンを選択すれば、コードが表示されますので、先ほどと同様にノートブックに貼り付けで実行することでインスタンスを立ち上げることができました。
![Deep18.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/659f657d-b5d9-401c-a686-1d1d03b464a0.jpeg)


# 紹介されていた本
セッション、ハンズオンを一通り説明していただいたSAの針原さんの著書。（AWS Hero 吉田さんとの共著）
2025年5月末発売。Amazonで予約できます。

移り変わりが激しい生成AIについて書籍化することで情報が陳腐化してしまうことを懸念されていました。
（個人的には１冊にまとまっていた方が体系的に学べるので助かります）

![Deep19.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/25224f7e-d8a2-4643-acca-4bcce6c75eb3.jpeg)

https://www.amazon.co.jp/AWS%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E7%94%9F%E6%88%90AI%E3%82%A2%E3%83%97%E3%83%AA%E6%A7%8B%E7%AF%89%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-%E5%90%89%E7%94%B0%E7%9C%9F%E5%90%BE/dp/4296205234?source=ps-sl-shoppingads-lpcontext&ref_=fplfs&ref_=fplfs&psc=1&smid=AN1VRQENFRJN5

 ※アフィリエイトはありません

# 最後に
DeepSeekということで、軽食と共にくじらビール🐳を提供いただきました。
東京・福生で作られているようです。

![Deep20.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925746/dae900de-0621-4458-981b-696a1df9415c.jpeg)

SAさんたちのセンスの良さに感激。ありがとうございました。

これからも、Startup Loftのイベントを定期的にチェックして参加していきます。