Container Compute Service (ACS) は、サーバーレスですぐに利用できるエクスペリエンスを提供し、基盤となるハードウェアや GPU ノードの構成を管理する手間から解放します。シンプルなデプロイメントと従量課金モデルにより、ACS は大規模言語モデル (LLM) の推論タスクに最適であり、推論コストを大幅に削減します。DeepSeek-R1 モデルはパラメーター数が膨大であるため、単一の GPU では効率的にロードまたは実行できません。したがって、このような大規模モデルで推論を実行し、スループットを向上させ、パフォーマンスを確保するには、2 つ以上のコンテナインスタンスにわたる分散デプロイメントが推奨されます。このトピックでは、ACS を使用して、本番環境に対応したフル機能の分散型 DeepSeek-R1 推論サービスをデプロイする方法について説明します。
背景情報
DeepSeek-R1
vLLM
ACS
LeaderWorkerSet (LWS)
Fluid
ソリューションの概要
モデルのパーティション分割
DeepSeek-R1 モデルには 6710 億のパラメーターがあります。単一の GPU は通常、最大 96 GiB のメモリしか持たず、モデル全体をロードすることはできません。したがって、モデルをパーティション分割する必要があります。このトピックでは、2 つの GPU コンテナインスタンスでの分散デプロイメントを使用し、パイプライン並列処理 (PP=2) とテンソル並列処理 (TP=8) のパーティション分割戦略を採用します。モデルのパーティション分割を次の図に示します。

パイプライン並列処理 (PP=2) は、モデルを 2 つのステージに分割し、各ステージを別々の GPU コンテナインスタンスで実行します。たとえば、モデル M は M1 と M2 に分割できます。M1 は最初のインスタンスで入力を処理し、中間結果を 2 番目のインスタンスの M2 に渡して後続の操作を行います。
テンソル並列処理 (TP=8) は、モデルの各ステージ (M1 や M2 など) 内の計算操作を 8 つの GPU に分散します。たとえば、M1 ステージでは、入力データが到着すると、8 つの部分に分割され、8 つの GPU で同時に処理されます。各 GPU はデータのごく一部を処理し、その結果が結合されます。
分散デプロイメントアーキテクチャ
このソリューションでは、ACS を使用して、vLLM と Ray を介して分散型のフル機能 DeepSeek-R1 推論サービスをデプロイします。LWS を使用して Leader-Worker デプロイメントを管理し、Fluid を使用して分散キャッシュを行い、モデルの読み込みを高速化します。vLLM は 2 つの 8-GPU Pod 上で実行され、それぞれが Ray Group (Head と Worker) として機能し、スループットを向上させます。アーキテクチャの変更は、YAML 変数 ( tensor-parallel-size や LWS_GROUP_SIZE など) に影響することにご注意ください。
前提条件
初めて Container Compute Service (ACS) を使用する場合、アカウントにデフォルトのロールを割り当てる必要があります。権限付与を完了した後にのみ、ACS は ECS、OSS、NAS、CPFS、SLB などの他のサービスを呼び出し、クラスターを作成し、ログを保存できます。詳細については、「Container Compute Service のクイックスタート」をご参照ください。
GPU インスタンスの仕様とコスト見積もり
ACS でのデュアルインスタンスまたはマルチインスタンスのデプロイメントには、GPU メモリが 96 GiB の単一インスタンスが推奨されます:GPU: 8 カード (カードあたり 96 GiB メモリ)、CPU: 64 vCPU、メモリ: 512 GiB。「推奨インスタンスタイプ」および「GPU 高速化コンピューティングインスタンスタイプ」を参照して、適切なインスタンスタイプを選択してください。ACS GPU インスタンスのコストを計算するには、「課金」をご参照ください。
ACS GPU インスタンスの仕様も、「ACS Pod 仕様の正規化ロジック」に従います。
デフォルトでは、ACS Pod は 30 GiB の無料の一時ストレージ (EphemeralStorage) を提供します。このトピックで使用される推論イメージ
registry-cn-hangzhou.ack.aliyuncs.com/ack-demo/vllm:v0.7.2は約 9.5 GiB を占有します。このストレージサイズがニーズを満たさない場合は、カスタマイズできます。詳細については、「一時ストレージ領域のサイズを増やす」をご参照ください。
操作手順
ステップ 1: DeepSeek-R1 モデルファイルの準備
LLM はパラメーター数が膨大であるため、モデルファイルにはかなりのディスク領域が必要です。モデルファイルの永続ストレージとして NAS または OSS ボリュームを作成することをお勧めします。このトピックでは、OSS を例として使用します。
モデルファイルのダウンロードとアップロードには時間がかかる場合があります。チケットを送信して、モデルファイルを OSS バケットに迅速にコピーできます。
次のコマンドを実行して、ModelScope から DeepSeek-R1 モデルをダウンロードします。
説明git-lfs プラグインがインストールされていることを確認してください。
yum install git-lfsまたはapt-get install git-lfsを実行してインストールします。その他のインストール方法については、「git-lfs のインストール」をご参照ください。git lfs install GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1.git cd DeepSeek-R1/ git lfs pullOSS にディレクトリを作成し、モデルを OSS にアップロードします。
説明ossutil のインストールと使用方法の詳細については、「ossutil のインストール」をご参照ください。
ossutil mkdir oss://<your-bucket-name>/models/DeepSeek-R1 ossutil cp -r ./DeepSeek-R1 oss://<your-bucket-name>/models/DeepSeek-R1モデルを OSS に保存した後、2 つの方法でロードできます。
PVC と PV を使用してモデルを直接マウントする:この方法は、小規模なモデルや、Pod の起動速度やモデルの読み込み速度に厳しい要件がないアプリケーションに最適です。
コンソール
次の表に、PV の例の基本構成を示します:
構成項目
説明
ボリュームタイプ
OSS
名前
llm-model
アクセス証明書
OSS にアクセスするための AccessKey ID と AccessKey Secret を構成します。
バケット ID
前のステップで作成した OSS バケットを選択します。
OSS パス
モデルが配置されているパス (例:/models/DeepSeek-R1) を選択します。
次の表に、PVC の例の基本構成を示します:
構成項目
説明
永続ボリューム要求 (PVC) タイプ
OSS
名前
llm-model
割り当てモード
既存のボリュームを選択します。
既存のボリューム
[既存の PV を選択] リンクをクリックし、作成した PV を選択します。
kubectl
以下は YAML の例です:
apiVersion: v1 kind: Secret metadata: name: oss-secret stringData: akId: <your-oss-ak> # OSS にアクセスするための AccessKey ID。 akSecret: <your-oss-sk> # OSS にアクセスするための AccessKey Secret。 --- apiVersion: v1 kind: PersistentVolume metadata: name: llm-model labels: alicloud-pvname: llm-model spec: capacity: storage: 30Gi accessModes: - ReadOnlyMany persistentVolumeReclaimPolicy: Retain csi: driver: ossplugin.csi.alibabacloud.com volumeHandle: llm-model nodePublishSecretRef: name: oss-secret namespace: default volumeAttributes: bucket: <your-bucket-name> # バケット名。 url: <your-bucket-endpoint> # エンドポイント (例:oss-cn-hangzhou-internal.aliyuncs.com)。 otherOpts: "-o umask=022 -o max_stat_cache_size=0 -o allow_other" path: <your-model-path> # この例では、/models/DeepSeek-R1/。 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: llm-model spec: accessModes: - ReadOnlyMany resources: requests: storage: 30Gi selector: matchLabels: alicloud-pvname: llm-modelFluid を使用してモデルの読み込みを高速化する:この方法は、大規模なモデルや、Pod の起動速度やモデルの読み込み速度に要件があるアプリケーションに適しています。詳細については、「Fluid を使用したデータアクセスの高速化」をご参照ください。
ACS App Marketplace で、Helm を使用して ack-fluid コンポーネントをインストールします。コンポーネントのバージョンは 1.0.11-* 以降である必要があります。詳細については、「Helm を使用したアプリケーションの作成」をご参照ください。
ACS Pod の特権モードを有効にするには、チケットを送信してください。
OSS にアクセスするための Secret を作成します。
apiVersion: v1 kind: Secret metadata: name: mysecret stringData: fs.oss.accessKeyId: xxx fs.oss.accessKeySecret: xxx上記のコードでは、
fs.oss.accessKeyIdとfs.oss.accessKeySecretは、OSS バケットへのアクセスに使用される AccessKey ID と AccessKey Secret です。Dataset と JindoRuntime を作成します。
apiVersion: data.fluid.io/v1alpha1 kind: Dataset metadata: name: deepseek spec: mounts: - mountPoint: oss://<your-bucket-name> # <your-bucket-name> を実際の値に置き換えます。 options: fs.oss.endpoint: <your-bucket-endpoint> # <your-bucket-endpoint> を実際の値に置き換えます。 name: deepseek path: "/" encryptOptions: - name: fs.oss.accessKeyId valueFrom: secretKeyRef: name: mysecret key: fs.oss.accessKeyId - name: fs.oss.accessKeySecret valueFrom: secretKeyRef: name: mysecret key: fs.oss.accessKeySecret --- apiVersion: data.fluid.io/v1alpha1 kind: JindoRuntime metadata: name: deepseek spec: replicas: 16 # 必要に応じて調整します。 master: podMetadata: labels: alibabacloud.com/compute-class: performance alibabacloud.com/compute-qos: default worker: podMetadata: labels: alibabacloud.com/compute-class: performance alibabacloud.com/compute-qos: default annotations: kubernetes.io/resource-type: serverless resources: requests: cpu: 16 memory: 128Gi limits: cpu: 16 memory: 128Gi tieredstore: levels: - mediumtype: MEM path: /dev/shm volumeType: emptyDir ## 必要に応じて調整します。 quota: 128Gi high: "0.99" low: "0.95"リソースが作成された後、
kubectl get pod | grep jindoコマンドを実行して、Pod がRunning状態であることを確認します。期待される出力:deepseek-jindofs-master-0 1/1 Running 0 3m29s deepseek-jindofs-worker-0 1/1 Running 0 2m52s deepseek-jindofs-worker-1 1/1 Running 0 2m52s ...DataLoad を作成してモデルをキャッシュします。
apiVersion: data.fluid.io/v1alpha1 kind: DataLoad metadata: name: deepseek spec: dataset: name: deepseek namespace: default loadMetadata: true次のコマンドを実行して、キャッシュのステータスを確認します。
kubectl get dataload期待される出力:
NAME DATASET PHASE AGE DURATION deepseek deepseek Executing 4m30s UnfinishedPHASEがExecutingの場合、プロセスが進行中であることを示します。約 20 分待ってからコマンドを再実行してください。ステータスがCompleteに変われば、キャッシュは成功です。kubectl logs $(kubectl get pods --selector=job-name=deepseek-loader-job -o jsonpath='{.items[0].metadata.name}') | grep progressコマンドを使用してジョブ名を取得し、ログを表示して進行状況を確認できます。次のコマンドを実行して、Dataset リソースを確認します。
kubectl get datasets期待される出力:
NAME UFS TOTAL SIZE CACHED CACHE CAPACITY CACHED PERCENTAGE PHASE AGE deepseek 1.25TiB 1.25TiB 2.00TiB 100.0% Bound 21h
ステップ 2: ACS GPU コンピューティングを使用したモデルのデプロイ
ACS App Marketplace で、Helm を使用して lws コンポーネントをインストールします。詳細については、「Helm を使用したアプリケーションの作成」をご参照ください。
LeaderWorkerSet を使用してモデルをデプロイします。
説明YAML ファイルの
alibabacloud.com/gpu-model-series: <example-model>を、ACS がサポートする特定の GPU モデルに置き換えてください。現在サポートされている GPU モデルのリストについては、アカウントマネージャーにご相談いただくか、チケットを送信してください。TCP/IP と比較して、高性能 RDMA ネットワークは、ゼロコピーとカーネルバイパスを特徴とし、データコピーと頻繁なコンテキストスイッチを回避します。これらの機能により、より低いレイテンシ、より高いスループット、およびより低い CPU 使用率が実現します。ACS は、YAML ファイルでラベル
alibabacloud.com/hpn-type: "rdma"を構成することで RDMA の使用をサポートします。RDMA をサポートする GPU モデルのリストについては、アカウントマネージャーにご相談いただくか、チケットを送信してください。Fluid を使用してモデルをロードする場合、両方の PVC の
claimNameを Fluid Dataset の名前に変更する必要があります。異なる分散デプロイメントアーキテクチャは、YAML ファイル内の
tensor-parallel-sizeやLWS_GROUP_SIZEなどの変数の値に影響します。
標準デプロイメント
apiVersion: leaderworkerset.x-k8s.io/v1 kind: LeaderWorkerSet metadata: name: deepseek-r1-671b-fp8-distrubution spec: replicas: 1 leaderWorkerTemplate: size: 2 # リーダーとワーカーの総数。 restartPolicy: RecreateGroupOnPodRestart leaderTemplate: metadata: labels: role: leader alibabacloud.com/compute-class: gpu # GPU タイプを指定します。 alibabacloud.com/compute-qos: default # ACS QoS レベルを指定します。 alibabacloud.com/gpu-model-series: <example-model> ## GPU モデルを指定します。 spec: volumes: - name: llm-model persistentVolumeClaim: ## Fluid を使用する場合、ここに Fluid データセット名を入力します (例:deepseek)。 claimName: llm-model - name: shm emptyDir: medium: Memory sizeLimit: 32Gi containers: - name: deepseek-r1-671b-leader image: registry-cn-hangzhou.ack.aliyuncs.com/ack-demo/vllm:v0.7.2 env: - name: NCCL_SOCKET_IFNAME # ネットワークインターフェースカードを指定します。 value: eth0 command: - sh - -c - "/vllm-workspace/ray_init.sh leader --ray_cluster_size=$(LWS_GROUP_SIZE);vllm serve /models/DeepSeek-R1/ --port 8000 --trust-remote-code --served-model-name ds --max-model-len 2048 --gpu-memory-utilization 0.95 --tensor-parallel-size 8 --pipeline-parallel-size 2 --enforce-eager" # tensor-parallel-size を、各リーダーおよびワーカー Pod のカードの総数に設定します。 resources: limits: nvidia.com/gpu: "8" cpu: "64" memory: 512G requests: nvidia.com/gpu: "8" cpu: "64" memory: 512G ports: - containerPort: 8000 volumeMounts: - mountPath: /models/DeepSeek-R1 name: llm-model - mountPath: /dev/shm name: shm workerTemplate: metadata: labels: alibabacloud.com/compute-class: gpu # GPU タイプを指定します。 alibabacloud.com/compute-qos: default # ACS QoS レベルを指定します。 alibabacloud.com/gpu-model-series: <example-model> ## GPU モデルを指定します。 spec: volumes: - name: llm-model persistentVolumeClaim: ## Fluid を使用する場合、ここに Fluid データセット名を入力します (例:deepseek)。 claimName: llm-model - name: shm emptyDir: medium: Memory sizeLimit: 32Gi containers: - name: deepseek-r1-671b-worker image: registry-cn-hangzhou.ack.aliyuncs.com/ack-demo/vllm:v0.7.2 env: - name: NCCL_SOCKET_IFNAME # ネットワークインターフェースカードを指定します。 value: eth0 command: - sh - -c - "/vllm-workspace/ray_init.sh worker --ray_address=$(LWS_LEADER_ADDRESS)" resources: limits: nvidia.com/gpu: "8" cpu: "64" memory: 512G requests: nvidia.com/gpu: "8" cpu: "64" memory: 512G ports: - containerPort: 8000 volumeMounts: - mountPath: /models/DeepSeek-R1 name: llm-model - mountPath: /dev/shm name: shmRDMA 高速化
オープンソースのベースイメージ (vLLM など) を使用する場合、次の環境変数を YAML ファイルに追加します:
名前
値
NCCL_SOCKET_IFNAME
eth0
NCCL_IB_TC
136
NCCL_IB_SL
5
NCCL_IB_GID_INDEX
3
NCCL_DEBUG
INFO
NCCL_IB_HCA
mlx5
NCCL_NET_PLUGIN
none
apiVersion: leaderworkerset.x-k8s.io/v1 kind: LeaderWorkerSet metadata: name: deepseek-r1-671b-fp8-distrubution spec: replicas: 1 leaderWorkerTemplate: size: 2 # リーダーとワーカーの総数。 restartPolicy: RecreateGroupOnPodRestart leaderTemplate: metadata: labels: role: leader alibabacloud.com/compute-class: gpu # GPU タイプを指定します。 alibabacloud.com/compute-qos: default # ACS QoS レベルを指定します。 alibabacloud.com/gpu-model-series: <example-model> ## GPU モデルを指定します。 # アプリケーションが高性能 RDMA ネットワークで実行されることを指定します。サポートされている GPU モデルのリストについては、チケットを送信してください。 alibabacloud.com/hpn-type: "rdma" spec: volumes: - name: llm-model persistentVolumeClaim: ## Fluid を使用する場合、ここに Fluid データセット名を入力します (例:deepseek)。 claimName: llm-model - name: shm emptyDir: medium: Memory sizeLimit: 32Gi containers: - name: deepseek-r1-671b-leader image: registry-cn-hangzhou.ack.aliyuncs.com/ack-demo/vllm:v0.7.2 env: - name: NCCL_SOCKET_IFNAME # ネットワークインターフェースカードを指定します。 value: eth0 - name: NCCL_IB_TC value: "136" - name: NCCL_IB_SL value: "5" - name: NCCL_IB_GID_INDEX value: "3" - name: NCCL_DEBUG value: "INFO" - name: NCCL_IB_HCA value: "mlx5" - name: NCCL_NET_PLUGIN value: "none" command: - sh - -c - "/vllm-workspace/ray_init.sh leader --ray_cluster_size=$(LWS_GROUP_SIZE);vllm serve /models/DeepSeek-R1/ --port 8000 --trust-remote-code --served-model-name ds --max-model-len 2048 --gpu-memory-utilization 0.95 --tensor-parallel-size 8 --pipeline-parallel-size 2 --enforce-eager" # tensor-parallel-size を、各リーダーおよびワーカー Pod のカードの総数に設定します。 resources: limits: nvidia.com/gpu: "8" cpu: "64" memory: 512G requests: nvidia.com/gpu: "8" cpu: "64" memory: 512G ports: - containerPort: 8000 volumeMounts: - mountPath: /models/DeepSeek-R1 name: llm-model - mountPath: /dev/shm name: shm workerTemplate: metadata: labels: alibabacloud.com/compute-class: gpu # GPU タイプを指定します。 alibabacloud.com/compute-qos: default # ACS QoS レベルを指定します。 alibabacloud.com/gpu-model-series: <example-model> ## GPU モデルを指定します。 # アプリケーションが高性能 RDMA ネットワークで実行されることを指定します。サポートされている GPU モデルのリストについては、チケットを送信してください。 alibabacloud.com/hpn-type: "rdma" spec: volumes: - name: llm-model persistentVolumeClaim: ## Fluid を使用する場合、ここに Fluid データセット名を入力します (例:deepseek)。 claimName: llm-model - name: shm emptyDir: medium: Memory sizeLimit: 32Gi containers: - name: deepseek-r1-671b-worker image: registry-cn-hangzhou.ack.aliyuncs.com/ack-demo/vllm:v0.7.2 env: - name: NCCL_SOCKET_IFNAME # ネットワークインターフェースカードを指定します。 value: eth0 - name: NCCL_IB_TC value: "136" - name: NCCL_IB_SL value: "5" - name: NCCL_IB_GID_INDEX value: "3" - name: NCCL_DEBUG value: "INFO" - name: NCCL_IB_HCA value: "mlx5" - name: NCCL_NET_PLUGIN value: "none" command: - sh - -c - "/vllm-workspace/ray_init.sh worker --ray_address=$(LWS_LEADER_ADDRESS)" resources: limits: nvidia.com/gpu: "8" cpu: "64" memory: 512G requests: nvidia.com/gpu: "8" cpu: "64" memory: 512G ports: - containerPort: 8000 volumeMounts: - mountPath: /models/DeepSeek-R1 name: llm-model - mountPath: /dev/shm name: shmService を使用して推論サービスを公開します。
apiVersion: v1 kind: Service metadata: name: ds-leader spec: ports: - name: http port: 8000 protocol: TCP targetPort: 8000 selector: leaderworkerset.sigs.k8s.io/name: deepseek-r1-671b-fp8-distrubution role: leader type: ClusterIP
ステップ 3: 推論サービスの検証
kubectl port-forwardを使用して、推論サービスとローカル環境の間にポートフォワーディングを確立します。説明kubectl port-forwardによって確立されたポートフォワーディングは、信頼性、セキュリティ、スケーラビリティに欠けるため、本番環境には適していません。したがって、開発およびデバッグにのみ使用してください。Kubernetes クラスターでの本番環境に対応したネットワーキングソリューションの詳細については、「Ingress 管理」をご参照ください。kubectl port-forward svc/ds-leader 8000:8000期待される出力:
Forwarding from 127.0.0.1:8000 -> 8000 Forwarding from [::1]:8000 -> 8000モデルに推論リクエストを送信します。
curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "ds", "messages": [ { "role": "system", "content": "You are a friendly AI assistant." }, { "role": "user", "content": "Tell me about deep learning." } ], "max_tokens": 1024, "temperature": 0.7, "top_p": 0.9, "seed": 10 }'期待される出力:
{"id":"chatcmpl-4bc78b66e2a4439f8362bd434a60be57","object":"chat.completion","created":1739501401,"model":"ds","choices":[{"index":0,"message":{"role":"assistant","reasoning_content":null,"content":"Okay, the user wants me to explain deep learning. I need to think about how to answer this well. First, I need to clarify the basic definition of deep learning. It's a branch of machine learning, right? Then I should compare it with traditional machine learning methods to explain its advantages, such as automatic feature extraction. I might need to mention neural networks, especially the structure of deep neural networks with multiple hidden layers.\n\nNext, I should talk about the core components of deep learning, such as activation functions, loss functions, and optimizers. The user might not be familiar with these terms, so I should briefly explain the role of each part. For example, ReLU as an activation function, Adam as an optimizer, and examples like the cross-entropy loss function.\n\nThen, for application areas, computer vision and natural language processing are common. I should provide some practical examples like image recognition and machine translation to make it easier for the user to understand. For industry applications, like healthcare and finance, the user might be interested in these real-world use cases.\n\nI also need to mention popular frameworks like TensorFlow and PyTorch, which make deep learning easier to implement. The importance of hardware acceleration, such as GPUs, is also key to explaining why deep learning is advancing so quickly.\n\nI should also discuss the challenges and limitations of deep learning, such as data dependency, high computational resource requirements, and poor interpretability. This will give the user a balanced view of its pros and cons. I might also mention future development directions, like efficient training algorithms and research into interpretability.\n\nThe user probably wants to understand the basic concepts of deep learning. They might have some technical background but not in-depth knowledge. They likely want to quickly grasp the key points and applications, so the answer needs to be well-structured and focused, without getting too deep into technical details but also not being too brief. I need to balance professionalism with ease of understanding.\n\nI should avoid using too much jargon, or explain terms when I use them, such as 'neural network' or 'convolutional neural network'. The user could be a student or a newcomer to the field, so I should use plain language. I should also use examples to connect the concepts to real-world applications to make them more memorable.\n\nI also need to be clear about the relationship between deep learning and machine learning, explaining that deep learning is a subset of machine learning but operates at a deeper level to handle more complex problems. I might also mention the backpropagation algorithm as one of the key training techniques.\n\nFinally, I'll provide a summary that emphasizes the impact and potential of deep learning and its future directions. This will give the user a comprehensive understanding. I'll double-check if I've missed any important points, like common model architectures such as CNNs and RNNs, which I should briefly mention to show the diversity.\n\nSometimes users are interested in the principles, but it's better to keep it concise here, focusing on an overview rather than in-depth technical details. I need to ensure the answer flows logically, starting from the definition, then moving to core components, applications, frameworks, challenges, and future directions. That structure seems reasonable.\n</think>\n\nDeep learning is a branch of machine learning that aims to simulate the human brain's learning process by building multi-layer neural networks (known as 'deep' networks). By automatically learning complex features and patterns from large amounts of data, it is widely used in fields such as image recognition, speech processing, and natural language processing.\n\n### Core concepts\n1. **Artificial Neural Network (ANN)**:\n - Consists of an input layer, multiple hidden layers, and an output layer, with each layer containing multiple neurons.\n - Processes information by simulating the activation and transmission of signals between neurons.\n\n2. **Automatic feature extraction**:\n - Traditional machine learning relies on manually designed features. Deep learning, through its multi-layer networks, automatically extracts abstract features from data, such as edges and shapes from pixels in an image.\n\n3. **Key components**:\n - **Activation function** (such as ReLU, Sigmoid): Introduces non-linearity, enhancing the model's expressive power.\n - **Loss function** (such as cross-entropy, mean squared error): Measures the difference between the predicted output and the actual value.\n - **Optimizer** (such as SGD, Adam): Optimizes the network's parameters through backward propagation to minimize the loss.\n\n---\n\n### Typical models\n- **Convolutional Neural Network (CNN)**: \n Designed specifically for images, it uses convolutional kernels to extract spatial features. Classic models include ResNet and VGG.\n- **Recurrent Neural Network (RNN)**: \n Processes sequential data like text and speech by introducing a memory mechanism. Improved versions include LSTM and GRU.\n- **Transformer**: \n Based on a self-attention mechanism, it has significantly improved performance in natural language processing tasks. Examples include the BERT and GPT series.\n\n---\n\n### Application scenarios\n- **Computer vision**: Facial recognition, medical imaging analysis (such as detecting lesions in lung CT scans).\n- **Natural language processing**: Intelligent chatbots, document summary generation, and translation (such as DeepL).\n- **Speech technology**: Voice assistants (such as Siri) and real-time caption generation.\n- **Reinforcement learning**: Game AI (AlphaGo) and robot control.\n\n---\n\n### Advantages and challenges\n- **Advantages**:\n - Automatically learns complex features, reducing the need for manual intervention.\n - Far outperforms traditional methods when given large amounts of data and high computing power.\n- **Challenges**:\n - Relies on massive amounts of labeled data (for example, tens of thousands of labeled medical images).\n - High model training costs (for example, training GPT-3 cost over ten million USD).\n - Its 'black box' nature leads to poor interpretability, limiting its application in high-risk fields like medicine.\n\n---\n\n### Tools and trends\n- **Mainstream frameworks**: TensorFlow (friendly for industrial deployment) and PyTorch (preferred for research).\n- **Research directions**:\n - Lightweight models (such as MobileNet for mobile devices).\n - Self-supervised learning (to reduce dependency on labeled data).\n - Enhanced interpretability (such as visualizing the model's decision-making basis).\n\nDeep learning is pushing the boundaries of artificial intelligence. From generative AI (such as Stable Diffusion generating images) to autonomous driving, it continues to transform the technology ecosystem. Future developments may bring breakthroughs in reducing computational costs, improving efficiency, and enhancing interpretability.","tool_calls":[]},"logprobs":null,"finish_reason":"stop","stop_reason":null}],"usage":{"prompt_tokens":17,"total_tokens":1131,"completion_tokens":1114,"prompt_tokens_details":null},"prompt_logprobs":null}
参考資料
Container Compute Service (ACS) は Container Service for Kubernetes に統合されています。これにより、ACK Pro マネージドクラスターで ACS のコンピューティング能力を使用できます。ACK で ACS GPU コンピューティング能力を使用する方法の詳細については、「ACK Pro マネージドクラスターで ACS のコンピューティング能力を使用する」をご参照ください。
ACK で DeepSeek をデプロイする方法の詳細については、次のトピックをご参照ください:
DeepSeek R1 と V3 の詳細については、次のトピックをご参照ください:
ACS の AI コンテナイメージは、ACS クラスター内の GPU 高速化コンテナ専用です。このイメージのリリースノートの詳細については、「ACS AI コンテナイメージのリリース履歴」をご参照ください。