一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Github上放出了只需4-8塊GPU就能訓(xùn)練的“改進版”BigGAN模型代碼

DPVg_AI_era ? 來源:lp ? 2019-03-29 11:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

機器學(xué)習(xí)模型訓(xùn)練成本往往令普通人倍感頭疼,動輒幾十上百塊泰坦,別說買,就是租都肉疼。近日,BigGAN作者之一在Github上放出了只需4-8塊GPU就能訓(xùn)練的“改進版”BigGAN模型代碼,可以說是窮人的福音。新模型使用PyTorch實現(xiàn)。

機器學(xué)習(xí)模型訓(xùn)練是一個耗時費力的過程,而且隨著人們對模型性能要求的提升,訓(xùn)練模型需要的計算力正以驚人的速度增長,堆疊高性能GPU進行數(shù)據(jù)訓(xùn)練幾乎是唯一選擇,動輒幾十塊上百塊的泰坦,搞的地主家也沒有余糧。

BigGAN效果拔群,但訓(xùn)練成本同樣讓人望而卻步,想自己搞?先摸摸錢包再說。

現(xiàn)在,BigGAN原作者之一Andrew Brock在Github上放出了只需4-8塊GPU就能訓(xùn)練的新版BigGAN,想窮人之所想,急窮人之所急,可以說是非常親民了。新模型使用的是PyTorch,而不是TF。

下面一起看看這個新模型的具體介紹,以下內(nèi)容來自Github上的簡介。

本資源包含由Andrew Brock,JeffDonahue和Karen Simonyan進行的大規(guī)模GAN高保真自然圖像合成訓(xùn)練的BigGAN,只需4-8塊 GPU的訓(xùn)練代碼。

本段代碼由Andy Brock和Alex Andonian編寫。

運行環(huán)境和條件

PyTorch 1.0.1

tqdm,numpy,scipy和h5py

ImageNet訓(xùn)練集

首先,可以選擇準備目標數(shù)據(jù)集的預(yù)處理HDF5版本,以實現(xiàn)更快的輸入輸出。之后需要計算FID所需的Inception時刻。這些都可以通過修改和運行以下代碼來完成

shscripts / utils / prepare_data.sh

默認情況下,ImageNet訓(xùn)練集被下載到此目錄中的根文件夾中,并將以128x128像素分辨率準備緩存的HDF5。

在scripts文件夾中,有多個bash腳本可以訓(xùn)練具有不同批量大小的BigGAN。假設(shè)您無法訪問完整的TPU pod,因此通過梯度累積(在多個小批量下進行梯度平均,并且僅在N次累積后執(zhí)行優(yōu)化程序步驟),以此形式表示大批量。

默認情況下,可以使用launch_BigGAN_bs256x8.sh腳本訓(xùn)練一個全尺寸的BigGAN模型,批大小為256和8個梯度累積,總批量為2048。在8張V100上進行全精度訓(xùn)練(無張量),訓(xùn)練需要15天,期間共進行約150k次迭代。

首先需要確定設(shè)置可以支持的最大批量大小。這里提供的預(yù)訓(xùn)練模型是在8個V100上(每個顯存16GB )上訓(xùn)練的,這個配置可以支持比默認使用的B1S256稍多一些的載荷。一旦確定了這一點,就應(yīng)該修改腳本,使批大小乘以梯度累積的數(shù)量等于所需的總批量大?。˙igGAN默認為2048)。

另外,此腳本使用--load_in_memarg,將整個(最大支持64GB)的I128.hdf5文件加載到RAM中,以加快數(shù)據(jù)的加載速度。如果沒有足夠的RAM做硬件支持(可能需要96GB以上的RAM),請刪除此參數(shù)。

度量標準和抽樣

在訓(xùn)練期間,腳本將輸出帶有訓(xùn)練指標和測試指標的日志,同時保存模型權(quán)重和優(yōu)化程序參數(shù)的多個副本(前者保存最近的2個,后者保存5個最高得分),并且每次保存權(quán)重時將生成樣本和插值。 logs文件夾包含處理這些日志的腳本,并使用MATLAB繪制結(jié)果。

訓(xùn)練之后,可以使用sample.py生成其他樣本和插值,使用不同的截斷值,批量大小,站立統(tǒng)計累積次數(shù)等進行測試。有關(guān)示例,請參閱sample_BigGAN_bs256x8.sh腳本。

默認情況下,所有內(nèi)容都保存在weights/samples/logs/data文件夾中,這些文件夾設(shè)置與此repo位于同一文件夾中??梢允褂?-base_root參數(shù)將所有這些指向不同的基本文件夾,或者使用各自的參數(shù)(例如--logs_root)選擇每個基礎(chǔ)文件夾的特定位置。

此代碼中包含了運行BigGAN-deep的腳本,但還沒有完全訓(xùn)練使用它們的模型,因此用戶可以視作這些模型尚未測試過。此外,我代碼中還包括在CIFAR上運行模型的腳本,以及在ImageNet上運行SA-GAN(包括EMA)和SN-GAN的腳本。

SA-GAN代碼假設(shè)用戶配置在4張TitanX(或等同于該配置的GPU RAM),并且將以批量大小為128以及2個梯度累積運行。

關(guān)于初始度量標準的重要說明

本資源使用PyTorch內(nèi)置的初始網(wǎng)絡(luò)來計算IS和FID分數(shù)。這些分數(shù)與使用Tensorflow官方初始代碼獲得的分數(shù)不同,僅用于監(jiān)控目的。使用--sample_npz參數(shù)在模型上運行sample.py,然后運行inception_tf13來計算實際的TensorFlow IS。請注意,需要安裝TensorFlow 1.3或更早版本,因為1.4或更高版本會破壞原始的IS代碼。

預(yù)訓(xùn)練模型

PyTorch初始分數(shù)和FID分數(shù)

我們引入了兩個預(yù)訓(xùn)練模型檢查點(使用G,D,G的EMA副本,優(yōu)化器和狀態(tài)dict):

主要檢查點是在 128x128 ImageNet 圖像上訓(xùn)練的 BigGAN,該模型使用 BS256 和 8 梯度累積,并在崩潰前實現(xiàn),其 TF Inception Score 為 97.35 +/- 1.79,

詳見:

https://drive.google.com/open?id=1nAle7FCVFZdix2—ks0r5JBkFnKw8ctW

第一個模型(100k G iters)的早期檢查點,性能更高,在崩潰之前實現(xiàn),可能更容易微調(diào)。

詳見:

https://drive.google.com/open?id=1dmZrcVJUAWkPBGza_XgswSuT-UODXZcO。

另外,使用Places-365數(shù)據(jù)集的預(yù)訓(xùn)練模型即將推出。

此repo還包含用于將原始TF HubBigGAN 生成器權(quán)重的PyTorch的移植腳本。有關(guān)更多詳細信息,請參閱TFHub文件夾中的腳本。

使用自己的數(shù)據(jù)集或創(chuàng)建新的訓(xùn)練函數(shù)微調(diào)模型

如果想恢復(fù)中斷訓(xùn)練或微調(diào)預(yù)訓(xùn)練模型,請在運行相同的啟動腳本,添加--resume參數(shù)。實驗名稱是由訓(xùn)練配置自動生成的,但如果希望使用修改后的優(yōu)化器設(shè)置微調(diào)模型,可以使用--experiment_namearg進行文件名的覆蓋。

要準備自己的數(shù)據(jù)集,需要將其添加到datasets.py并修改utils.py中的convenience dicts,以獲得數(shù)據(jù)集的相應(yīng)元數(shù)據(jù)。在prepare_data.sh中重復(fù)此過程(也可以選擇生成HDF5預(yù)處理副本,并計算FID的Inception Moments)。

默認情況下,訓(xùn)練腳本將保存初始分數(shù)最高的前5個檢查點。對于ImageNet以外的數(shù)據(jù)集,初始分數(shù)可能是一種非常差的質(zhì)量標準,可以使用--which_bestFID來代替。

要使用自己的訓(xùn)練函數(shù)(如訓(xùn)練BigVAE):修改train_fns.GAN_training_function或在if config['which_train_fn'] =='GAN'之后添加新的訓(xùn)練函數(shù)。

本模型的主要亮點

本資源庫提供完整的訓(xùn)練和指標日志以供參考。重現(xiàn)論文過程中最困難的事情之一就是檢查訓(xùn)練早期的記錄日志是否規(guī)整,特別是在訓(xùn)練時間長達數(shù)周的情況下。希望這將有助于未來的工作。

本資源庫包括一個加速的FID計算 - 原始的scipy版本可能需要超過10分鐘來計算矩陣sqrt,此版本使用加速的PyTorch版本,計算時間不到1秒。

本資源用了一種加速、低內(nèi)存消耗的正交寄存器實現(xiàn)。默認情況下,只計算最大奇異值(譜范數(shù)),但本段代碼通過 —num_G_SVs 參數(shù)支持了更多 SV 的計算。

本模型與原始BigGAN之間的主要區(qū)別

我們使用來自SA-GAN的優(yōu)化器設(shè)置(G_lr= 1e-4,D_lr = 4e-4,num_D_steps= 1,與BigGAN的設(shè)置不同(G_lr = 5e-5,D_lr = 2e-5,num_D_steps = 2)。雖然這樣犧牲了些許性能,但這是削減訓(xùn)練時間的第一步。

默認情況下,本資源不使用Cross-Replica BatchNorm(又名Synced BatchNorm)。本資源嘗試的兩種變體與內(nèi)置的BatchNorm具有略微不同的梯度(盡管是相同的前向傳遞),可以滿足訓(xùn)練要求。

梯度累積意味著需要更頻繁地更新SV估計值和BN統(tǒng)計量(頻度增加了8倍)。這意味著BN統(tǒng)計數(shù)據(jù)更接近于常設(shè)統(tǒng)計數(shù)據(jù),而且奇異值估計往往更準確。因此,在測試模式下默認使用G來衡量指標(使用BatchNorm運行統(tǒng)計估算,而不是像文件中那樣計算常設(shè)統(tǒng)計數(shù)據(jù))。

我們?nèi)匀恢С殖TO(shè)統(tǒng)計信息(具體見sample.sh腳本)。這也可能導(dǎo)致早期累積的梯度變得過時,但在實踐中這已經(jīng)不再是個問題。

目前給出的預(yù)訓(xùn)練模型未經(jīng)過正交正則化訓(xùn)練。似乎增加了模型由于截斷變得不可修復(fù)的可能性,但本資源庫中給出特定模型似乎格外好運,沒有碰到這種情況。不過,我們還是提供兩個經(jīng)過高度優(yōu)化(快速和最小內(nèi)存消耗)的正交寄存器實現(xiàn),直接計算正交寄存器梯度。

Github資源地址:

https://github.com/ajbrock/BigGAN-PyTorch

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4949

    瀏覽量

    131283
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8503

    瀏覽量

    134651
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    483

    瀏覽量

    17697

原文標題:學(xué)生黨福音!僅4個GPU打造自己的BigGAN,PyTorch代碼已開源

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    為什么無法在GPU使用INT8 和 INT4量化模型獲得輸出?

    安裝OpenVINO? 2024.0 版本。 使用 optimum-intel 程序包將 whisper-large-v3 模型轉(zhuǎn)換為 int 4 和 int8,并在 GPU
    發(fā)表于 06-23 07:11

    請問如何在imx8mplus上部署和運行YOLOv5訓(xùn)練模型?

    我正在從事 imx8mplus yocto 項目。我已經(jīng)在自定義數(shù)據(jù)集的 YOLOv5 訓(xùn)練了對象檢測模型。它在 ubuntu 電腦
    發(fā)表于 03-25 07:23

    摩爾線程GPU原生FP8計算助力AI訓(xùn)練

    近日,摩爾線程正式開源MT-MegatronLM與MT-TransformerEngine兩大AI框架。通過深度融合FP8混合訓(xùn)練策略和高性能算子庫,這兩大框架在國產(chǎn)全功能GPU實現(xiàn)
    的頭像 發(fā)表于 03-17 17:05 ?623次閱讀
    摩爾線程<b class='flag-5'>GPU</b>原生FP<b class='flag-5'>8</b>計算助力AI<b class='flag-5'>訓(xùn)練</b>

    無法在GPU運行ONNX模型的Benchmark_app怎么解決?

    在 CPU 和 GPU 運行OpenVINO? 2023.0 Benchmark_app推斷的 ONNX 模型。 在 CPU 推理成功,但在
    發(fā)表于 03-06 08:02

    用PaddleNLP在4060單卡實踐大模型預(yù)訓(xùn)練技術(shù)

    手把手教您如何在單張消費級顯卡,利用PaddleNLP實踐OpenAI的GPT-2模型的預(yù)訓(xùn)練。GPT-2的預(yù)訓(xùn)練關(guān)鍵技術(shù)與流程與GPT-4
    的頭像 發(fā)表于 02-19 16:10 ?1007次閱讀
    用PaddleNLP在4060單卡<b class='flag-5'>上</b>實踐大<b class='flag-5'>模型</b>預(yù)<b class='flag-5'>訓(xùn)練</b>技術(shù)

    馬斯克揭秘Grok 3訓(xùn)練成本:20萬英偉達GPU

    近日,馬斯克旗下的xAI公司正式推出了其新一代大模型——Grok 3。在備受矚目的發(fā)布會直播中,馬斯克親自披露了Grok 3的訓(xùn)練成本,這一數(shù)字引起了業(yè)界的廣泛關(guān)注。 據(jù)馬斯克透露,Grok 3
    的頭像 發(fā)表于 02-19 09:39 ?840次閱讀

    FP8在大模型訓(xùn)練中的應(yīng)用

    越來越多的技術(shù)團隊開始使用 FP8 進行大模型訓(xùn)練,這主要因為 FP8 有很多技術(shù)優(yōu)勢。比如在新一代的 GPU
    的頭像 發(fā)表于 01-23 09:39 ?1190次閱讀
    FP<b class='flag-5'>8</b>在大<b class='flag-5'>模型</b><b class='flag-5'>訓(xùn)練</b>中的應(yīng)用

    模型訓(xùn)練框架(五)之Accelerate

    Hugging Face 的 Accelerate1是一個用于簡化和加速深度學(xué)習(xí)模型訓(xùn)練的庫,它支持在多種硬件配置上進行分布式訓(xùn)練,包括 CPU、GPU、TPU 等。Accelerat
    的頭像 發(fā)表于 01-14 14:24 ?719次閱讀

    GPU是如何訓(xùn)練AI大模型

    在AI模型訓(xùn)練過程中,大量的計算工作集中在矩陣乘法、向量加法和激活函數(shù)等運算上。這些運算正是GPU所擅長的。接下來,AI部落小編帶您了解GPU是如何
    的頭像 發(fā)表于 12-19 17:54 ?753次閱讀

    如何使用FP8新技術(shù)加速大模型訓(xùn)練

    /fp8_primer.html#Introduction-to-FP8 其中,使用 FP8 進行大模型訓(xùn)練具有以下優(yōu)勢: 新一代 GPU
    的頭像 發(fā)表于 12-09 11:30 ?1082次閱讀

    訓(xùn)練AI大模型需要什么樣的gpu

    訓(xùn)練AI大模型需要選擇具有強大計算能力、足夠顯存、高效帶寬、良好散熱和能效比以及良好兼容性和擴展性的GPU。在選擇時,需要根據(jù)具體需求進行權(quán)衡和選擇。
    的頭像 發(fā)表于 12-03 10:10 ?655次閱讀

    PyTorch GPU 加速訓(xùn)練模型方法

    在深度學(xué)習(xí)領(lǐng)域,GPU加速訓(xùn)練模型已經(jīng)成為提高訓(xùn)練效率和縮短訓(xùn)練時間的重要手段。PyTorch作為一個流行的深度學(xué)習(xí)框架,提供了豐富的工具和
    的頭像 發(fā)表于 11-05 17:43 ?1415次閱讀

    GitHub Copilot引入多模型支持

    近日,據(jù)外媒報道,GitHub正在為其代碼完成和編程工具Copilot引入多模型支持。這一舉措將為開發(fā)者提供更加靈活和多樣化的選擇。 在近日舉辦的GitHub Universe大會上,
    的頭像 發(fā)表于 10-31 11:49 ?992次閱讀

    為什么ai模型訓(xùn)練要用gpu

    GPU憑借其強大的并行處理能力和高效的內(nèi)存系統(tǒng),已成為AI模型訓(xùn)練不可或缺的重要工具。
    的頭像 發(fā)表于 10-24 09:39 ?982次閱讀

    GitHub推出GitHub Models服務(wù),賦能開發(fā)者智能選擇AI模型

    8月2日,全球領(lǐng)先的代碼托管平臺GitHub宣布了一項重大創(chuàng)新——GitHub Models服務(wù)的正式推出。該服務(wù)被定位為AI時代的工程師助手,旨在幫助全球超過1億的
    的頭像 發(fā)表于 08-02 15:39 ?1073次閱讀