【筆記ing】AI大模型-02開發環境搭建

按實驗需求合理選用實例規格,一般:模型開發階段:使用最低算力2U8GB CPU。訓練或推理階段:切換至GPU規格,用完及時關閉算力環境,且切回最低算力規格。

每次實驗結束手動關閉實例。使用ModelArts公有云資源。

AI允開發平臺產品:百度的EasyDL、騰訊云AI開發平臺、阿里天池實驗室、華為云ModelArts、RunPod。免費云端AI開發平臺:Anaconda、Kaggle。

華為云ModelArts人工智能AI開發平臺+PyCharm。本地+云端混合開發環境。

PyCharm版本:2023.1

ModelArts實例創建

ModelArts控制臺地址:

https://console.huaweicloud.com/modelarts/?region=cn-north-4#/dev-container

創建Notebook實例

名稱:Notebook實例命名,自定義,非中文

描述:當前實例添加描述性文本

自動停止:開啟、1小時

鏡像:公共鏡像、pytorch1.8-cuda10.2-cudnn7-ubuntu18.04。Notebook實例需要指定使用的鏡像。ModelArts官方提供公共鏡像和自定義鏡像,可按需選擇。自定義鏡像是用戶自行基于公共鏡像之上創建出來的自定義鏡像,包含除公共鏡像之外的自定安裝的依賴項。鏡像的選擇依據所需開發的模型場景及建模所需的依賴項。

資源類型:公共資源池

類型(計算類型):CPU。機器學習模型:建議CPU計算。深度學習模型:建議GPU計算。

實例規格:2核 8GB

存儲配置:云硬盤EVS。默認5GB存儲。

SSH遠程開發:密鑰對、遠程訪問白名單(填寫允許遠程接入的公網IP地址,多個IP用逗號分隔,留空則無接入IP限制)

完成配置后點擊立即配置,總覽所有配置選項,確認無誤后點擊提交,系統將開始執行Notebook實例創建過程,約2min。創建完畢后,在控制臺-開發環境-Notebook界面查看對應所創實例。

存儲模式-使用場景-優缺點

EVS-單機使用,面向大文件-單開發環境中使用

PFS-對象存儲,面向大文件-小文件頻繁讀寫較弱

SFS-專屬資源池中使用,可多個環境使用-生命周期綁定

本地存儲-重型訓練任務首選-生命周期綁定

EVS存儲:

使用場景:適合只在開發環境中探索數據、算法,性能較好。

優點:塊存儲SSD,可以理解為一個磁盤,整體IO性能比NFS要好,可以動態擴充,最大可以到4096GB。云硬盤EVS作為持久化存儲掛載在/home/ma-user/work目錄下,該目錄下的內容在實例停止后會被保留,存儲支持在線按需擴容。

缺點:只能在單個開發環境中使用。

PFS并行文件系統:

使用場景:數據集的存儲。將承載數據集的OBS并行文件系統掛載至Notebook中,在訓練時直接使用。代碼的存儲。在Notebook調測完成,可以直接指定對應的對象存儲路徑作為啟動訓練的代碼路徑,方便臨時修改。訓練觀測。可以將訓練日志等輸出路徑進行掛載,在Notebook中實時查看和觀測,特別是利用TensorBoard,Notebook功能完成對訓練輸出的分析。

優點:PFS是一種經過優化的高性能對象存儲文件系統,存儲成本低,吞吐量達,能夠快速處理高性能計算(HPC)工作負載。在需要使用對象存儲服務場景下,推薦使用PFS掛載。

缺點:小文件頻繁讀寫相對PFS較弱,對象存儲語義,和Posix語義有區別,需要進一步理解。

SFS彈性文件服務器:

使用場景:目前只支持在專屬資源池中使用,針對探索、實驗等非正式生產場景,建議使用這種。開發環境和訓練環境可以同時掛載一塊SFS存儲,省去了每次訓練作業下載數據的要求,一般來說中IO讀寫模型,超過32卡的大規模訓練不適合。

優點:實現為NFS,可以在多個開發環境、開發環境和訓練之間共享,如果不需要重型分布式訓練作業,特別是啟動訓練作業時,不需要額外再對數據進行下載,這種存儲遍歷性可以作為首選。

缺點:存儲生命周期和容器生命周期綁定,每次訓練都要下載數據。

本地存儲:

使用場景:重型訓練任務首選。

優點:運行所在虛擬機或者裸金屬機器上自帶的SSD高性能存儲,文件讀寫的吞吐量大,建議對于重型訓練任務先將數據準備到對應目錄再啟動訓練。默認在容器/cache目錄下進行掛載,包含500GB的可用空間。

缺點:存儲生命周期和容器生命周期綁定,每次訓練都要下載數據。

ModelArts實例使用

操作:啟動

操作:打開

+:可點擊選擇新建Notebook文件、終端

文件夾:新建目錄

上傳:可從本地PC上傳指定文件至Notebook實例

文件區:右鍵選擇操作:新建Notebook、新建目錄、文件/目錄重命名、文件/目錄刪除。。。

Notebook:新建Notebook文件

Other:Terminal:打開終端,執行命令行操作

ModelArts的Notebook與Jupyter本地環境的Notebook使用方法一致。

創建自定義鏡像

在本地PyCharm IDE中遠程連接ModelArts實例搭建本地-云端遠程混合開發環境

使用PyCharm ToolKit。

確保創建的Notebook實例以開啟SSH遠程開發功能。創建時可配,創建后亦可單獨配置。

準備密鑰對。

必要的勾選全部勾選

密鑰對名稱自定義

密鑰對類型保持默認

KMS加密保持默認

全部配置完畢后點擊確定,密鑰對即可創建成功,同時會下載至本地目錄保存。

SSH遠程開發功能配置頁面,配置密鑰對。

設置遠程訪問的白名單。白名單是指允許訪問當前實例的客戶端IP地址。需要設置的是個人本機當前IP地址。ipconfig getifaddr en0

至此,Notebook的SSH遠程開發功能配置完成。

PyCharm安裝插件。

文件-設置-插件 Settings-Plugins,搜索ModelArts。安裝重啟應用

工具欄增加ModelArts。

ModelArts-》Edit_Credential 打開配置編輯頁面

Region:資源所在區域,默認識別

Project:默認識別

Access Key Id:AK證書密鑰

Secret Access Key:SK證書密鑰

我的憑證-》訪問密鑰 -〉創建密鑰

插件自動化配置。

PyCharm -》ModelArts-〉Notebook-》Remote Config。。。

KeyPair:選擇保存本地的Notebook對應的keypair認證。創建Notebook時創建的密鑰對文件.pem文件后綴。

Apply。重啟IDE生效。重啟后初次更新要點時間。

后續本地遠程連接Notebook時,ModelArts-》Notebook-〉your notebook name。

同步上傳本地文件至Notebook。Project目錄下,右擊-》Deployment-〉Upload to 。。。。將本地工程文件上傳至指定的Notebook。

后續同步:修改代碼后保存ctrl s,即可自動同步。也可Deployment -》update 。。

插件成功登錄,SSH遠程開發環境成功連接之后,本地PyCharm自動識別出遠程環境所具備的解釋器。

遠程開發模式的使用原理

將本地代碼同步到遠程環境指定目錄下,創建出本地文件與遠程文件的映射

在本地完成代碼開發,開發完畢將本地代碼同步更新至遠程環境

在本地代碼正常開啟運行,運行的其實是遠程環境下完成同步的代碼,調度的解釋器環境也是遠程環境下的解釋器

程序在遠程環境運行,終端輸出結果在本地環境展示

RunPodGPU云資源租賃服務

相對優勢:計算資源效率較快(高)、網絡傳輸速度快、GPU資源安裝部署快。RunPod服務部署國外,網絡傳輸速度快,基本可以達到150MB/s的下載速度。RunPod提供了較豐富的GPU算力資源:RTX4090 顯存24GB、A40 顯存48GB、A100 顯存80GB,可滿足不同層面的算力需求

缺點:不支持Pycharm插件,無法支持本地-云端混合開發。較貴,最低的RTX4090顯卡的GPU算力資源1小時1美刀。

RunPod無需作為主力使用的AI開發平臺,當需要跑些較大的神經網絡模型的訓練或推理時,ModelArts無法滿足,可以考慮將項目遷移到RunPod完成訓練或推理。

https://www.runpod.io/console/deploy

————————————

僅用于本人學習

來源:網絡

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

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

相關文章

Python——numpy測試題目

題目: 生成一個2行3列隨機整數二維數組a使用Numpy方法對(1)中數組a進行整體求積使用Numpy方法對(1)中數組a進行求每列最大值索引定義一個NumPy一維數組 b,元素為 1 到 10 的整數獲取(4&#x…

系分論文《論面向服務開發方法在設備租賃行業的應用》

系統分析師論文系列 【摘要】 2022年5月,我司承接某工程機械租賃企業"智能租賃運營管理平臺"建設項目,我作為系統分析師主導系統架構設計。該項目需整合8大類2000余臺設備資產,覆蓋全國15個區域運營中心與300家代理商,實…

Unity UI中的Pixels Per Unit

Pixels Per Unit在圖片導入到Unity的時候,將圖片格式設置為Sprite的情況下會出現,其意思是精靈中的多少像素對應世界中的一個單位,默認是100 1. 對于在世界坐標中 在世界坐標中,一般對于Sprite的應用是Sprite Renderer組件 使…

Boost Graph Library (BGL) 介紹與使用示例

Boost Graph Library (BGL) 介紹與使用示例 Boost Graph Library (BGL) 是 Boost 庫中用于圖論計算的模塊,提供了處理圖數據結構的通用接口和多種圖算法實現。 BGL 主要特性 提供多種圖表示方式:鄰接表、鄰接矩陣等包含常用圖算法:DFS、BF…

opencv(C++)操作圖像像素

文章目錄 添加噪點的案例圖像像素值1、訪問圖像屬性2、像素訪問方法 at灰度圖像彩色圖像 3、OpenCV 的向量類型4、 圖像傳遞方式 The cv::Mat_ 類1、作用及優點2、使用 cv::Mat_ 簡化像素訪問 用指針掃描圖像背景算法案例原理1. 圖像數據存儲的基本結構2、行填充(Pa…

Python實現貪吃蛇一

貪吃蛇是一款經典的小游戲,最近嘗試用Python實現它。先做一個基礎版本實現以下目標: 1、做一個按鈕,控制游戲開始 2、按Q鍵退出游戲 3、右上角顯示一個記分牌 4、隨機生成一個食物,蛇吃到食物后長度加一,得10分 5、蛇碰…

《AI大模型應知應會100篇》第13篇:大模型評測標準:如何判斷一個模型的優劣

第13篇:大模型評測標準:如何判斷一個模型的優劣 摘要 近年來,大語言模型(LLMs)在自然語言處理、代碼生成、多模態任務等領域取得了顯著進展。然而,隨著模型數量和規模的增長,如何科學評估這些模…

工會考試重點內容有哪些:核心考點與備考指南

工會考試重點內容總結:核心考點與備考指南 工會考試主要考察考生對工會法律法規、職能職責、實務操作等內容的掌握程度,適用于企事業單位工會干部、社會化工會工作者等崗位的選拔。本文梳理工會考試的核心考點,幫助考生高效備考。 一、工會…

Verilog學習-1.模塊的結構

module aoi(a,b,c,d,f);/*模塊名為aoi,端口列表a、b、c、d、f*/ input a,b,c,d;/*模塊的輸入端口為a,b,c,d*/ output f;;/*模塊的輸出端口為f*/ wire a,b,c,d,f;/*定義信號的數據類型*/ assign f~((a&b)|(~(c&d)));/*邏輯功能描述*/ endmoduleveirlog hdl 程…

MySQL數據庫備份與恢復詳解

在數據庫管理中,數據的備份與恢復是至關重要的一環。對于MySQL數據庫,定期備份不僅能防止數據丟失,還能在發生故障時快速恢復數據庫。本文將詳細介紹MySQL數據庫的備份與恢復方法,覆蓋所有常用備份和恢復方式,幫助大家…

FFMPEG和opencv的編譯

首先 sudo apt-get update -qq && sudo apt-get -y install autoconf automake build-essential cmake git-core libass-dev libfreetype6-dev libgnutls28-dev libmp3lame-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-de…

華為機試—最大最小路

題目 對于給定的無向無根樹&#xff0c;第 i 個節點上有一個權值 wi? 。我們定義一條簡單路徑是好的&#xff0c;當且僅當&#xff1a;路徑上的點的點權最小值小于等于 a &#xff0c;路徑上的點的點權最大值大于等于 b 。 保證給定的 a<b&#xff0c;你需要計算有多少條簡…

spring cloud微服務開發中聲明式服務調用詳解及主流框架/解決方案對比

聲明式服務調用詳解 1. 核心概念 定義&#xff1a;通過配置或注解聲明服務調用邏輯&#xff0c;而非手動編寫客戶端代碼&#xff0c;提升開發效率與可維護性。核心特性&#xff1a; 解耦&#xff1a;調用邏輯與業務代碼分離內置容錯&#xff1a;熔斷、超時、重試等動態發現&am…

基于springboot+vue的秦皇島旅游景點管理系統

開發語言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7數據庫工具&#xff1a;Navicat11開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.3.9 系統展示 用戶登錄 旅游路…

【數據結構】之二叉樹

二叉樹是我們在數據結構中學到的第一個非線性結構&#xff0c;是后續學習更為復雜的樹、圖結構的基礎。本文整理了二叉樹的概念定義、基本操作、遍歷算法、偽代碼與代碼實現以及實例說明&#xff0c;方便大家隨時查找對應。 一、定義與基本術語 二叉樹是一種樹形結構&#xf…

Honeyview:快速瀏覽各類圖像

Honeyview是一款免費、輕量級圖片查看工具?&#xff0c;專為快速瀏覽各類圖像設計&#xff0c;支持Windows系統?。其核心優勢在于?極速加載?與?廣泛格式兼容性?&#xff0c;可替代系統自帶的圖片查看工具&#xff0c;尤其適合需要處理專業圖像&#xff08;如PSD、RAW&…

Streamlit性能優化:緩存與狀態管理實戰

目錄 &#x1f4cc; 核心特性 &#x1f4cc; 運行原理 &#xff08;1&#xff09;全腳本執行 &#xff08;2&#xff09;差異更新 &#x1f4cc; 緩存機制 ?為什么使用緩存&#xff1f; 使用st.cache_data的優化方案 緩存適用場景 使用st.session_state的優化方案 &…

十七、TCP編程

TCP 編程是網絡通信的核心&#xff0c;其 API 圍繞面向連接的特性設計&#xff0c;涵蓋服務端和客戶端的交互流程。以下是基于 ?C 語言的 TCP 編程核心 API 及使用流程的詳細解析&#xff1a; 核心 API 概覽 ?函數?角色?描述socket()通用創建套接字&#xff0c;指定協議族…

將外網下載的 Docker 鏡像拷貝到內網運行

將外網下載的 Docker 鏡像拷貝到內網運行&#xff0c;可以通過以下步驟實現&#xff1a; 一、在有外網訪問權限的機器上操作 下載鏡像 使用docker pull命令下載所需的鏡像。例如&#xff0c;如果你需要下載一個名為nginx的鏡像&#xff0c;可以運行以下命令&#xff1a;docke…

《深入理解生命周期與作用域:以C語言為例》

&#x1f680;個人主頁&#xff1a;BabyZZの秘密日記 &#x1f4d6;收入專欄&#xff1a;C語言 &#x1f30d;文章目入 一、生命周期&#xff1a;變量的存在時間&#xff08;一&#xff09;生命周期的定義&#xff08;二&#xff09;C語言中的生命周期類型&#xff08;三&#…