在亞馬遜云科技上云原生部署DeepSeek-R1模型(下)

在本系列的上篇中,我們介紹了如何通過Amazon Bedrock部署并測試使用了DeepSeek模型。在接下來的下篇中小李哥將繼續介紹,如何利用亞馬遜的AI模型訓練平臺SageMaker AI中的,Amazon Sagemaker JumpStart通過腳本輕松一鍵式部署DeepSeek預訓練模型。

使用SageMaker JumpStart部署DeepSeek-R1

SageMaker JumpStart是一個包含基礎模型(FM)、內置算法和預構建機器學習模型解決方案的便捷功能,我們只需點擊幾下即可完成我們想要模型的部署。通過SageMaker JumpStart,我們還可以使用自己的數據自定義預訓練模型,并通過UI或SDK將其部署到生產環境中。

在亞馬遜云科技上,有兩種便捷的方法通過SageMaker JumpStart部署DeepSeek-R1模型:分別是使用直觀的SageMaker JumpStart UI或通過SageMaker Python SDK進行編程部署。在本篇中我們就將介紹這兩種方法,幫助大家選擇最適合自己需求的部署方式。

通過SageMaker JumpStart UI部署DeepSeek-R1

大家需要按照以下步驟使用SageMaker JumpStart UI部署DeepSeek-R1:

1. 在SageMaker控制臺中,選擇左側導航欄的 Studio。

2. 注意首次使用SageMaker的用戶,需要先創建一個域環境才能開始正常使用這個功能。

3. 在SageMaker Studio控制臺中,選擇左側導航欄的JumpStart。

進入JumpStart后,主頁將顯示所有可用的模型,并提供供應商名稱和模型功能等詳細信息。

4. 接下來大家搜索DeepSeek-R1,進入后查看DeepSeek-R1模型卡。其中每個模型卡片都會顯示模型關鍵信息,包括:

模型名稱:DeepSeek-R1

供應商名稱: DeepSeek

任務類別(例如文本生成)

Bedrock Ready標識,表示該模型可在Amazon Bedrock中加載使用,并可使用Amazon Bedrock API進行調用

5. 接下來,我們選擇模型卡片進入模型詳情頁面。

模型卡片詳情頁面包括以下信息:

  • 模型名稱和供應商信息
  • "Deploy" 按鈕,點擊部署模型
  • "About" 和 "Notebooks" 選項卡,點擊進入可以看到詳細信息

"About" 選項卡中包括重要信息:

  • 模型描述
  • 許可信息
  • 技術規格
  • 使用指南

在部署模型之前,各位開發者一定要先閱讀模型詳情和許可條款,以確保其與大家的使用場景兼容,同時保證大家擁有使用的授權。

6. 接下來選擇Deploy繼續部署。

7. 配置部署選項:選擇合適的實例類型和數量對于優化成本和提升模型的推理性能至關重要。我們可以在部署后實時監控模型運行情況,并根據我們的業務需求調整這些算力設置。

8. 填入Endpoint name,我們可以使用自動生成的名稱或創建自定義名稱。

9. 選擇Instance type,選擇實例類型(默認:ml.p5e.48xlarge)。

10. 選擇Initial instance count:我們在這里輸入實例數量(默認:1)。

11. 選擇大模型的推理模式Inference type,SageMaker默認選擇實時推理(Real-time inference),該模式對實時流量流和延遲都進行了優化。

12. 最后我們仔細檢查所有配置是否正確。對于DeepSeek模型,小李哥建議遵循SageMaker JumpStart的默認設置,并確保網絡隔離(network isolation) 保持啟用狀態,保證大模型環境不能被外界公網訪問,保證數據的安全。

13. 點擊Deploy就完成部署模型了,部署過程通常長袖幾分鐘。

當部署完成后,我們的模型端點狀態將更改為InService。此時模型端點已準備好接收api推理請求調用。我們可以在SageMaker控制臺的Endpoints頁面中監控實時API調用情況,該頁面會顯示相關指標和狀態信息。完成部署后,我們可以使用SageMaker SDK提供的API,通過代碼調用模型,并將其集成到大家的應用程序中。

使用 SageMaker Python SDK 部署 DeepSeek-R1

要通過SageMaker Python SDK,以代碼形式使用DeepSeek-R1,我們需要先安裝SageMaker Python SDK - Boto3,并確保我們具備必要的AWS權限和環境變量設置。以下是一個通過API調用DeepSeek的代碼示例,展示了如何以編程方式部署DeepSeek-R1并進行推理。

部署模型的代碼已在亞馬遜云科技GitHub倉庫上線。我們可以克隆該Notebook并在SageMaker Studio中運行。

!pip install --force-reinstall --no-cache-dir sagemaker==2.235.2from sagemaker.serve.builder.model_builder import ModelBuilder 
from sagemaker.serve.builder.schema_builder import SchemaBuilder 
from sagemaker.jumpstart.model import ModelAccessConfig 
from sagemaker.session import Session 
import logging sagemaker_session = Session()artifacts_bucket_name = sagemaker_session.default_bucket() 
execution_role_arn = sagemaker_session.get_caller_identity_arn()js_model_id = "deepseek-llm-r1"gpu_instance_type = "ml.p5e.48xlarge"response = "Hello, I'm a language model, and I'm here to help you with your English."sample_input = {"inputs": "Hello, I'm a language model,","parameters": {"max_new_tokens": 128, "top_p": 0.9, "temperature": 0.6},}sample_output = [{"generated_text": response}]schema_builder = SchemaBuilder(sample_input, sample_output)model_builder = ModelBuilder( model=js_model_id, schema_builder=schema_builder, sagemaker_session=sagemaker_session, role_arn=execution_role_arn, log_level=logging.ERROR ) model= model_builder.build() predictor = model.deploy(model_access_configs={js_model_id:ModelAccessConfig(accept_eula=True)}, accept_eula=True) predictor.predict(sample_input)

接下來的代碼是通過代碼形式調用該端點生成推理的代碼段

new_input = {"inputs": "What is Amazon doing in Generative AI?","parameters": {"max_new_tokens": 64, "top_p": 0.8, "temperature": 0.7},
}prediction = predictor.predict(new_input)
print(prediction)

?

加載安全過濾器Guardrails并利用DeekSeek運行推理

與Amazon Bedrock相同,我們也可以使用ApplyGuardrail API保護我們的SageMaker JumpStart中模型的推理過程。可以通過Amazon Bedrock控制臺或API創建 Guardrail,并按照以下代碼示例保護推理過程:

  # Get the response from the modelmodel_response = json.loads(response['Body'].read().decode())# Apply guardrail to outputoutput_guardrail_response = bedrock_runtime.apply_guardrail(guardrailIdentifier=guardrail_id,guardrailVersion=guardrail_version,source='OUTPUT',content=[{ "text": { "text": model_response['generated_text'] }}])# Check if output passes guardrailsif output_guardrail_response['action'] != 'GUARDRAIL_INTERVENED':print(model_response['generated_text'])else:print("Output blocked: ", output_guardrail_response['outputs'][0]['text'])
else:print("Input blocked: ", input_guardrail_response['outputs'][0]['text'])

以上就是全部的在亞馬遜云科技上部署、測試、安全地通過API調用DeekSeek-R1模型的全部步驟。歡迎大家持續關注小李哥分享的國際前沿的云平臺AI解決方案,關注小李哥不要錯過未來更多精彩內容。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/894996.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/894996.shtml
英文地址,請注明出處:http://en.pswp.cn/news/894996.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kubernetes是什么?為什么它是云原生的基石

從“手工時代”到“自動化工廠” 想象一下,你正在經營一家工廠。在傳統模式下,每個工人(服務器)需要手動組裝產品(應用),效率低下且容易出錯。而Kubernetes(k8s)就像一個…

Transformer 詳解:了解 GPT、BERT 和 T5 背后的模型

目錄 什么是 Transformer? Transformer如何工作? Transformer 為何有用? 常見問題解答:機器學習中的 Transformer 在技??術領域,突破通常來自于修復損壞的東西。制造第一架飛機的人研究過鳥類。萊特兄弟觀察了禿鷲如何在氣流中保持平衡,意識到穩定性比動力更重要。…

圖片webp格式動圖圖片

這是一個webp動圖1 這是一個webp動圖2 webp 圖像由gif 轉換 3

Spring(26) spring-security-oauth2 官方表結構解析

目錄 一、什么是 spring-security-oauth2?二、spring-security-oauth2 的表結構2.1 oauth_client_details 客戶端詳細信息表2.2 oauth_access_token 認證授權Token記錄表2.3 oauth_refresh_token 刷新授權Token記錄表2.4 oauth_code 授權Code記錄表 一、什么是 spri…

【R語言】plyr包和dplyr包

一、plyr包 plyr擴展包主要是實現數據處理中的“分割-應用-組合”(split-apply-combine)策略。此策略是指將一個問題分割成更容易操作的部分,再對每一部分進行獨立的操作,最后將各部分的操作結果組合起來。 plyr擴展包中的主要函…

【DeepSeek】DeepSeek小模型蒸餾與本地部署深度解析DeepSeek小模型蒸餾與本地部署深度解析

一、引言與背景 在人工智能領域,大型語言模型(LLM)如DeepSeek以其卓越的自然語言理解和生成能力,推動了眾多應用場景的發展。然而,大型模型的高昂計算和存儲成本,以及潛在的數據隱私風險,限制了…

程序員也可以這樣賺錢

最近有朋友和我交流了關于程序員副業的想法,我想借這個機會對目前軟件開發常用的兼職平臺做一個梳理。 以下是程序員接副業的靠譜平臺推薦,結合政策合規性、平臺口碑及實際操作性整理,覆蓋國內外主流選擇: 一、國內綜合型平臺 程序…

【AI】在Ubuntu中使用docker對DeepSeek的部署與使用

這篇文章前言是我基于部署好的deepseek-r1:8b模型跑出來的 關于部署DeepSeek的前言與介紹 在當今快速發展的技術環境中,有效地利用機器學習工具來解決問題變得越來越重要。今天,我將引入一個名為DeepSeek 的工具,它作為一種強大的搜索引擎&a…

代碼隨想錄算法【Day39】

Day39 198.打家劫舍 class Solution { public:int rob(vector<int>& nums) {if (nums.size() 0) return 0;if (nums.size() 1) return nums[0];vector<int> dp(nums.size());dp[0] nums[0];dp[1] max(nums[0], nums[1]);for (int i 2; i < nums.size…

TCP三次握手全方面詳解

文章目錄 (1) 三次握手各狀態CLOSE狀態SYN_SENT狀態SYN_RECV狀態ESTABLISHED狀態 (2) 為什么握手時的seqnum是隨機值&#xff0c;以及acknum的功能(3) 三次握手中的半連接隊列&#xff08;SYN隊列&#xff09;和全連接隊列&#xff08;ACCEPT隊列&#xff09;半連接隊列全連接隊…

數據結構與算法-遞歸

單路遞歸 二分查找 /*** 主函數&#xff1a;執行二分查找。* * param a 要搜索的數組&#xff08;必須是已排序的&#xff09;* param target 目標值* return 返回目標值在數組中的索引&#xff1b;如果未找到&#xff0c;則返回 -1*/ public static int binarySearch(int[] …

軟中斷和tasklet的區別是什么?

軟中斷和 tasklet 都是 Linux 內核中用于實現異步事件處理的機制&#xff0c;它們的主要區別如下&#xff1a; 實現機制 軟中斷&#xff1a;是一種基于軟件觸發的中斷機制&#xff0c;在內核中是一組靜態定義的、預先分配好的軟中斷向量。每個軟中斷都有一個唯一的編號和對應…

Termux安裝ssh實現電腦ssh

Termux下載 點擊下載 在 Termux 中安裝并使用 SSH&#xff0c;按照以下步驟操作&#xff1a; 1. 更新軟件包列表 pkg update && pkg upgrade2. 安裝 OpenSSH pkg install openssh3. 設置 SSH 密碼&#xff08;必須&#xff0c;否則無法使用 SSH 服務器&#xff09…

深入理解 C++17 std::is_swappable

文章目錄 深入理解 C17 std::is_swappable引言std::is_swappable 概述std::is_swappable 的工作原理std::is_swappable 的變體注意事項結論 深入理解 C17 std::is_swappable 引言 在 C 編程中&#xff0c;交換兩個對象的值是一個常見的操作。為了確保代碼的通用性和安全性&am…

51單片機之馮·諾依曼結構

一、概述 8051系列單片機將作為控制應用最基本的內容集成在一個硅片上&#xff0c;其內部結構如圖4-1所示。作為單一芯片的計算機&#xff0c;它的內部結構與一臺計算機的主機非常相似。其中微處理器相當于計算機中的CPU&#xff0c;由運算器和控制器兩個部分構成&#xff1b;…

w~Transformer~合集5

我自己的原文哦~ https://blog.51cto.com/whaosoft/12406495 #transformer~x1 太可怕了都到6了 太強~~ DeepMind 表示&#xff0c;他們提出的算法蒸餾&#xff08;AD&#xff09;是首個通過對具有模仿損失的離線數據進行順序建模以展示上下文強化學習的方法。同時基于觀察…

c#對接deepseek 聊天AI接口

注意&#xff1a;不是免費 對接文檔&#xff1a;對話補全 | DeepSeek API Docs 注冊地址&#xff1a;DeepSeek 申請key 在線請求示例 apifox deepseek - deepseek

23.PPT:校攝影社團-攝影比賽作品【5】

目錄 NO12345? NO6 NO7/8/9/10? 單元格背景填充表格背景填充文本框背景填充幻燈片背景格式設置添加考生文件夾下的版式 NO12345 插入幻燈片和放入圖片?快速&#xff1a;插入→相冊→新建相冊→文件→圖片版式→相框形狀→調整邊框寬度左下角背景圖片&#xff1a;視圖→…

創新領先!珈和科技獲評省級企業技術中心

為充分發揮中小企業創新主體作用&#xff0c;提高自主創新、集成創新和引進消化吸收再創新能力&#xff0c;增強創新驅動發展的動力&#xff0c;做好專精特新“小巨人”企業的培育工作。 近日&#xff0c;湖北省經信廳對申報2024年湖北省中小企業技術中心的企業進行審核認定并…

Android車機DIY開發之軟件篇(十二)編譯Automotive OS錯誤(3)

Android車機DIY開發之軟件篇(十二)編譯Automotive OS錯誤(3) 問題 [ 85% 113538/132897] //hardware/interfaces/neuralnetworks/1.1/utils:neuralnetworks_utils_hal_1_1 clang src/Device.cpp [ 85% 113539/132897] //hardware/interfaces/neuralnetworks/1.1/utils:neural…