在16卡服務器上使用最新版的CUDA和驅動訓練`llama - 2 - 7b`和`llama - 2 - 70b`模型,并生成訓練指標數據

要在16卡服務器上使用最新版的CUDA和驅動訓練llama - 2 - 7bllama - 2 - 70b模型,并生成訓練指標數據,你可以按照以下步驟進行:

1. 環境準備

確保你的服務器已經安裝了最新版的CUDA和驅動,并且安裝了必要的Python庫,如torchtransformersdatasets等。可以使用以下命令安裝:

pip install torch transformers datasets accelerate deepspeed

2. 代碼實現

import torch
from torch.utils.data import DataLoader
from transformers import (AutoModelForCausalLM,AutoTokenizer,TrainingArguments,Trainer,default_data_collator
)
from datasets import load_dataset
import time# 定義模型名稱
model_names = ["meta-llama/Llama-2-7b-hf", "meta-llama/Llama-2-70b-hf"]# 加載數據集
dataset = load_dataset("wikitext", "wikitext-2-raw-v1")for model_name in model_names:print(f"Training {model_name}...")# 加載模型和分詞器tokenizer = AutoTokenizer.from_pretrained(model_name)tokenizer.pad_token = tokenizer.eos_tokenmodel = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16)# 預處理數據集def preprocess_function(examples):inputs = tokenizer(examples["text"], truncation=True, max_length=512, padding="max_length")return inputstokenized_dataset = dataset.map(preprocess_function, batched=True)# 定義訓練參數training_args = TrainingArguments(output_dir=f"./results/{model_name}",num_train_epochs=1,per_device_train_batch_size=4,gradient_accumulation_steps=1,fp16=True,logging_steps=10,save_steps=1000,evaluation_strategy="steps",eval_steps=500,warmup_steps=500,weight_decay=0.01,logging_dir=f"./logs/{model_name}",deepspeed="ds_config.json"  # 使用DeepSpeed進行分布式訓練)# 定義Trainertrainer = Trainer(model=model,args=training_args,train_dataset=tokenized_dataset["train"],eval_dataset=tokenized_dataset["validation"],data_collator=default_data_collator,)# 開始訓練并記錄時間start_time = time.time()trainer.train()end_time = time.time()# 計算訓練指標total_steps = trainer.state.global_steptotal_time = end_time - start_timethroughput = total_steps / total_timeprint(f"Model: {model_name}")print(f"Total steps: {total_steps}")print(f"Total time (s): {total_time}")print(f"Throughput (steps/s): {throughput}")

3. DeepSpeed配置文件(ds_config.json

{"train_batch_size": 64,"optimizer": {"type": "Adam","params": {"lr": 0.0001,"betas": [0.9,0.999],"eps": 1e-8,"weight_decay": 0.01}},"fp16": {"enabled": true,"loss_scale": 0,"initial_scale_power": 16},"zero_optimization": {"stage": 2,"allgather_partitions": true,"allgather_bucket_size": 2e8,"overlap_comm": true,"reduce_scatter": true,"reduce_bucket_size": 2e8,"contiguous_gradients": true}
}

4. 運行代碼

將上述代碼保存為train_llama.py,并在終端中運行:

deepspeed --num_gpus 16 train_llama.py

注意事項

  • 模型權限Llama - 2系列模型需要在Hugging Face上申請訪問權限,確保你已經獲得了相應的權限。
  • 硬件資源llama - 2 - 70b模型非常大,需要足夠的顯存和內存資源。確保你的服務器能夠支持該模型的訓練。
  • 數據處理:這里使用的是wikitext - 2 - raw - v1數據集,你可以根據需要替換為自己的數據集。

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

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

相關文章

macOS 終端優化

macOS 安裝、優化、還原、升級 Oh My Zsh 完全指南 🚀 Oh My Zsh 是 macOS 終端增強的利器,它能提供強大的自動補全、主題定制和插件支持,讓你的終端更高效、更炫酷。本文將全面介紹 如何安裝、優化、還原、重新安裝和升級 Oh My Zsh&#x…

計算機網絡--訪問一個網頁的全過程

文章目錄 訪問一個網頁的全過程應用層在瀏覽器輸入URL網址http://www.aspxfans.com:8080/news/index.aspboardID5&ID24618&page1#r_70732423通過DNS獲取IP地址生成HTTP請求報文應用層最后 傳輸層傳輸層處理應用層報文建立TCP連接傳輸層最后 網絡層網絡層對TCP報文進行處…

CAAC無人機考證備考清單

一、培訓機構內部的考試大綱/備考指南 《機長筆試大綱》 《機長口試大綱》 《教員筆試大綱》 《教員口試大綱》(不同機構的文件、命名可能不同) 二、培訓機構內部題庫 題庫內容包含(仿照多旋翼題庫制作): 分類 子分…

【BUG】類文件具有錯誤的版本 61.0, 應為 52.0,請刪除該文件或確保該文件位于正確的類路徑子目錄中。

報錯: [ERROR] 類文件具有錯誤的版本 61.0, 應為 52.0 [ERROR] 請刪除該文件或確保該文件位于正確的類路徑子目錄中。 報錯截圖: 原因:Java 版本和 Spring 不兼容,顯示 Spring 版本過高 解決方法 1. 使用更高版本的 J…

卷積神經網絡(筆記01)

視覺處理三大任務:分類、目標檢測、圖像分割 CNN網絡主要有三部分構成:卷積層(Convolutional Layer)、池化層(Pooling Layer)和激活函數 一、解釋卷積層中的偏置項是什么,并討論在神經網絡中引…

Django-ORM-prefetch_related

Django-ORM-prefetch_related 模型定義N1 查詢問題示例 使用 prefetch_related 優化查詢處理更復雜的查詢示例:預取特定條件的書籍示例:預取多個關聯字段 性能比較注意事項總結 通過 Author 和 Books 兩個模型來理解 Django 的 prefetch_related 方法。 …

Spring Boot3整合Knife4j(4.5.0)

整體概述 Spring Boot 是用于簡化 Spring 應用開發的框架,通過自動配置和約定大于配置原則,能讓開發者快速搭建和運行 Spring 應用。Knife4j 是基于 Swagger 增強的 API 文檔生成工具,可方便展示和調試 API 接口,生成美觀易用的 …

Java 大視界 -- 區塊鏈賦能 Java 大數據:數據可信與價值流轉(84)

💖親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也…

K8S學習之基礎二十四:k8s的持久化存儲之pv和pvc

K8S的存儲之pv和pvc 在 Kubernetes (k8s) 中,持久化存儲是通過 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC) 來實現的。PVC 是用戶對存儲資源的請求,而 PV 是集群中的實際存儲資源。PVC 和 PV 的關系類似于 Pod 和 Node 的關系。 Persisten…

【Hive】Hive安裝

Hive 第一章 Hive的基礎知識 第二章 Hive安裝 第三章 DDL(Data Definition Language)數據定義 第四章 DML(Data Manipulation Language)數據操作 第五章 Hive查詢 第六章 Hive的基礎知識 第七章 Hive函數 第八章 分區表和分桶表 …

關于C/C++語言的初學者在哪刷題,怎么刷題

引言: 這篇博客主要是針對初學者關于怎么在網上刷題,以及在哪里刷題。 1.介紹平臺(在哪刷題): 1.牛客牛客網https://www.nowcoder.com/ :有許多面試題,也有許多供學習者練習的題 2.洛谷洛谷 …

k8s面試題總結(十四)

什么是Helm? Helm是一個k8s的包管理工具,它簡化了應用程序在k8s集群中的部署,管理和維護。類似于rpm包和yum之間的關系。 K8s傳統方式:類似于rpm安裝包的方式,逐步進行安裝,遇到依賴還得解決依賴問題 he…

物理服務器的作用都有哪些?

物理服務器是一種高性能的專用服務器,一般會被運用在大型組織和云計算環境當中,可以為企業和用戶提供數據存儲和計算資源,幫助企業提高整體的工作效率和快速實現業務目標。 物理服務器有著較高的安全性,企業可以將重要的數據信息備…

01 音視頻知識學習(視頻)

圖像基礎概念 ?像素:像素是一個圖片的基本單位,pix是英語單詞picture的簡寫,加上英 語單詞“元素element”,就得到了“pixel”,簡稱px,所以“像素”有“圖像元素” 之意。 ? 分辨率:是指圖像…

有關MyBatis的動態SQL

有關MyBatis動態SQL MyBatis動態SQL是一種根據不同條件靈活拼接SQL語句的技術,基于OGNL表達式實現。動態 SQL 大大減少了編寫代碼的工作量,更體現了 MyBatis 的靈活性、高度可配置性和可維護性。 1.什么是動態SQL? 動態sql可以在一些需要靈活拼接sql…

react使用拖拽,縮放組件,采用react-rnd解決 -完整版

屏幕錄制2025-03-10 10.16.06 以下代碼僅提供左側可視化區域 右側數據根據你們的存儲數據來 大家直接看Rnd標簽設置的屬性即可!!!!! /*** 用戶拖拽水印的最終位置信息*/ export interface ProductWatermarkValue {wat…

Spring Cloud之遠程調用OpenFeign參數傳遞

目錄 OpenFeign參數傳遞 傳遞單個參數 傳遞多個參數 傳遞對象 傳遞JSON OpenFeign參數傳遞 傳遞單個參數 服務提供方product-service RequestMapping("/product") RestController public class ProductController {Autowiredprivate ProductService productSe…

每日一練之移除鏈表元素

題目: 畫圖解析: 方法:雙指針 解答代碼(注:解答代碼帶解析): //題目給的結構體 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* }…

從零開始的python學習(五)P75+P76+P77+P78+P79+P80

本文章記錄觀看B站python教程學習筆記和實踐感悟,視頻鏈接:【花了2萬多買的Python教程全套,現在分享給大家,入門到精通(Python全棧開發教程)】 https://www.bilibili.com/video/BV1wD4y1o7AS/?p6&share_sourcecopy_web&v…

基于SpringBoot實現旅游酒店平臺功能八

一、前言介紹: 1.1 項目摘要 隨著社會的快速發展和人民生活水平的不斷提高,旅游已經成為人們休閑娛樂的重要方式之一。人們越來越注重生活的品質和精神文化的追求,旅游需求呈現出爆發式增長。這種增長不僅體現在旅游人數的增加上&#xff0…