Deep SeekをAWSBedrock で使ってみる​​​​​​​

最近話題の中国製の生成AIであるDeepSeekを触ってみたく、試行錯誤しています。
DeepSeekのアプリから直接、触ってみることも考えましたが、サーバが中国にあることを考えるとそのまま使おうという気にはなれませんでした
そこでDeepSeekはOSSということもあり、自前で立ててしまえばよいではないかと思い至り、この挑戦を実施してみます。
同じくDeepSeekを触ってみたいという人がいれば参考になれば幸いです。

DeepSeekとは?

Deepseekとは、中国にて開発された大規模言語モデル(LLM)の生成AIです。
OpenAIのGPT-4、AnthropicのClaudeなどの生成AIモデルが主流でしたが、高性能にも関わらず安価に利用可能ということで注目を浴びています。
また、DeepSeelはオープンソースというのも魅力の一つです。
生成AIの技術者達によってDeepSeekをベースに改良を加えられたモデルが今後公開されていくことが期待できます。

オープンソースということと、AWS Bedrockはカスタムモデルのインポートという機能があるので、外部から生成AIモデルを投入して使うことができます。
この方式を使えば、わざわざサーバを立てなくてもDeepSeekを使えます。
ただ、使えるリージョンに限定があり、2025年2月現在では、バージニアリージョンとオレゴンリージョンでしか利用できません。
東京リージョンでも使えるようになるのが待ち遠しいですね。

インポート方法

モデルのダウンロード

インポートするためのモデルはS3に配置する必要があるので、S3バケットを事前に作成しておいてください。

以下のコマンドを実行してDeepSeekのイメージをダウンロードします。
作業用端末には、Git Large File Storageのツールが必要になります。「git lfs」で調べてインストールしておいてください。
通常のgitでもダウンロードはできてしまうのですが、そのファイルをS3にアップロードしてBedrockにインポート使用としてもエラーになります。
(ここに気づくまでに何時間も無駄に時間を掛けてしまいました・・・。)
ネットワークの環境次第ですが、数十分かかりました。
ディスク容量も30GB近く使用されています。(実際のDeepSeekのイメージは16GB程度ですが、gitのキャッシュ情報でさらに14GBくらい使われます。)
sudo git lfs clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-8B


取得したDeepSeekのイメージをS3にアップロードします。
「.git」ファイルは不要なのでそれ以外をS3にアップロードしてください。
ファイル容量が大きいのでこちら結構な時間がかかります。

カスタムモデルのインポート

モデル名はお好きな名前を付けてください。


S3の場所に「s3://<バケット名>/DeepSeek-R1-Distill-Llama-8B」を指定してください。
※バケット名の場所は自身で作成下バケット名に変更してください。


これで画面下部の「インポートモデル」を押下します。
インポートが始まると以下の画面になりますので、完了するまで待ちましょう。


インポートが完了すると以下のようなステータスになります。

動作確認

Bedrockのプレイグラウンドで問い合わせを行ってみます。
きちんと回答を返してくれていますね。
標準のモデルでは、日本語での返答が難しいようですが、日本語対応のモデルをインポートすればそれも対応可能だと思います。

まとめ

話題のDeepSeekの生成AIをお試ししてみました。
思ったより簡単に、DeepSeekをAWS Bedrock上で動作させることができました。
簡単に動作確認しみるようなレベルであれば十分ではないでしょうか?

ここであれば、Bedrock上に構築したDeepSeekを使用しているはずなので、中国側にはデータは流出しないはず。
(生成AIモデル内にの問い合わせ内容を中国に送信するような仕組みが仕込まれていない限りは・・・ですが。)
おそらく大丈夫かと思いますが、機密情報や個人情報に関する問い合わせは行わないに越したことはないでしょう。