Rumah Peranti teknologi AI Model Bahasa Latihan di Google Colab

Model Bahasa Latihan di Google Colab

Feb 25, 2025 pm 03:26 PM

Training Language Models on Google Colab

Model Bahasa Besar Fine-Tuning (LLMS) seperti Bert, Llama, BART, dan mereka dari Mistral AI dan lain-lain boleh dikira secara intensif. Kurangnya GPU tempatan, Google Colab menyediakan alternatif percuma, tetapi sifat sementaranya memberikan cabaran dalam memelihara kemajuan anda. Panduan ini menunjukkan cara memanfaatkan Google Drive untuk mengatasi batasan ini, membolehkan anda menyimpan dan menyambung semula latihan LLM anda di beberapa sesi Colab.

Penyelesaian ini melibatkan menggunakan Google Drive untuk menyimpan hasil pertengahan dan pemeriksaan model. Ini memastikan kerja anda berterusan walaupun selepas persekitaran Colab diset semula. Anda memerlukan akaun Google dengan ruang pemacu yang mencukupi. Buat dua folder dalam pemacu anda: "Data" (untuk dataset latihan anda) dan "pemeriksaan" (untuk menyimpan titik pemeriksaan model).

Pemasangan Google Drive di Colab:

Mulailah dengan memasang pemacu google anda dalam buku nota colab anda menggunakan arahan ini:

from google.colab import drive
drive.mount('/content/drive')
Salin selepas log masuk
Sahkan akses dengan menyenaraikan kandungan direktori data dan pemeriksaan anda:

!ls /content/drive/MyDrive/data
!ls /content/drive/MyDrive/checkpoints
Salin selepas log masuk
Jika kebenaran diperlukan, tetingkap pop timbul akan muncul. Pastikan anda memberikan kebenaran akses yang diperlukan. Sekiranya arahan gagal, lari semula sel pemasangan dan periksa keizinan anda.

menjimatkan dan memuatkan titik pemeriksaan:

teras penyelesaiannya terletak pada mewujudkan fungsi untuk menyimpan dan memuatkan titik pemeriksaan model. Fungsi -fungsi ini akan menyatukan keadaan model, pengoptimal, penjadual, dan maklumat lain yang berkaitan dengan folder "pemeriksaan" anda.

Simpan fungsi pemeriksaan:

import torch
import os

def save_checkpoint(epoch, model, optimizer, scheduler, loss, model_name, overwrite=True):
    checkpoint = {
        'epoch': epoch,
        'model_state_dict': model.state_dict(),
        'optimizer_state_dict': optimizer.state_dict(),
        'scheduler_state_dict': scheduler.state_dict(),
        'loss': loss
    }
    direc = get_checkpoint_dir(model_name) #Assumed function to construct directory path
    if overwrite:
        file_path = os.path.join(direc, 'checkpoint.pth')
    else:
        file_path = os.path.join(direc, f'epoch_{epoch}_checkpoint.pth')
    os.makedirs(direc, exist_ok=True) # Create directory if it doesn't exist
    torch.save(checkpoint, file_path)
    print(f"Checkpoint saved at epoch {epoch}")

#Example get_checkpoint_dir function (adapt to your needs)
def get_checkpoint_dir(model_name):
    return os.path.join("/content/drive/MyDrive/checkpoints", model_name)
Salin selepas log masuk

Fungsi Pemeriksaan Beban:

import torch
import os

def load_checkpoint(model_name, model, optimizer, scheduler):
    direc = get_checkpoint_dir(model_name)
    if os.path.exists(direc):
        #Find checkpoint with highest epoch (adapt to your naming convention)
        checkpoints = [f for f in os.listdir(direc) if f.endswith('.pth')]
        if checkpoints:
            latest_checkpoint = max(checkpoints, key=lambda x: int(x.split('_')[-2]) if '_' in x else 0)
            file_path = os.path.join(direc, latest_checkpoint)
            checkpoint = torch.load(file_path, map_location=torch.device('cpu'))
            model.load_state_dict(checkpoint['model_state_dict'])
            optimizer.load_state_dict(checkpoint['optimizer_state_dict'])
            scheduler.load_state_dict(checkpoint['scheduler_state_dict'])
            epoch = checkpoint['epoch']
            loss = checkpoint['loss']
            print(f"Checkpoint loaded from epoch {epoch}")
            return epoch, loss
        else:
            print("No checkpoints found in directory.")
            return 0, None
    else:
        print(f"No checkpoint directory found for {model_name}, starting from epoch 1.")
        return 0, None
Salin selepas log masuk

Mengintegrasikan ke dalam gelung latihan anda:

Mengintegrasikan fungsi -fungsi ini ke dalam gelung latihan anda. Gelung harus memeriksa pusat pemeriksaan yang ada sebelum memulakan latihan. Sekiranya pusat pemeriksaan dijumpai, ia menyambung semula latihan dari zaman yang disimpan.

EPOCHS = 10
for exp in experiments: # Assuming 'experiments' is a list of your experiment configurations
    model, optimizer, scheduler = initialise_model_components(exp) # Your model initialization function
    train_loader, val_loader = generate_data_loaders(exp) # Your data loader function
    start_epoch, prev_loss = load_checkpoint(exp, model, optimizer, scheduler)
    for epoch in range(start_epoch, EPOCHS):
        print(f'Epoch {epoch + 1}/{EPOCHS}')
        # YOUR TRAINING CODE HERE... (training loop)
        save_checkpoint(epoch + 1, model, optimizer, scheduler, train_loss, exp) #Save after each epoch
Salin selepas log masuk
Struktur ini membolehkan latihan semula latihan yang lancar walaupun sesi COLAB berakhir. Ingatlah untuk menyesuaikan konvensyen penamaan fail

dan pemeriksaan fail untuk memenuhi keperluan khusus anda. Contoh yang lebih baik ini mengendalikan kesilapan yang berpotensi dengan lebih anggun dan menyediakan penyelesaian yang lebih mantap. Ingatlah untuk menggantikan fungsi pemegang letak (get_checkpoint_dir, initialise_model_components) dengan pelaksanaan sebenar anda. generate_data_loaders

Atas ialah kandungan terperinci Model Bahasa Latihan di Google Colab. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah Protokol Konteks Model (MCP)? Apakah Protokol Konteks Model (MCP)? Mar 03, 2025 pm 07:09 PM

Apakah Protokol Konteks Model (MCP)?

Membina ejen penglihatan tempatan menggunakan omniparser v2 dan omnitool Membina ejen penglihatan tempatan menggunakan omniparser v2 dan omnitool Mar 03, 2025 pm 07:08 PM

Membina ejen penglihatan tempatan menggunakan omniparser v2 dan omnitool

Ejen replit: panduan dengan contoh praktikal Ejen replit: panduan dengan contoh praktikal Mar 04, 2025 am 10:52 AM

Ejen replit: panduan dengan contoh praktikal

Saya cuba pengekodan getaran dengan kursor AI dan ia menakjubkan! Saya cuba pengekodan getaran dengan kursor AI dan ia menakjubkan! Mar 20, 2025 pm 03:34 PM

Saya cuba pengekodan getaran dengan kursor AI dan ia menakjubkan!

Panduan Runway Act-One: Saya memfilmkan diri untuk mengujinya Panduan Runway Act-One: Saya memfilmkan diri untuk mengujinya Mar 03, 2025 am 09:42 AM

Panduan Runway Act-One: Saya memfilmkan diri untuk mengujinya

Bagaimana cara menggunakan Yolo V12 untuk pengesanan objek? Bagaimana cara menggunakan Yolo V12 untuk pengesanan objek? Mar 22, 2025 am 11:07 AM

Bagaimana cara menggunakan Yolo V12 untuk pengesanan objek?

Elon Musk & Sam Altman bertembung lebih daripada $ 500 bilion projek Stargate Elon Musk & Sam Altman bertembung lebih daripada $ 500 bilion projek Stargate Mar 08, 2025 am 11:15 AM

Elon Musk & Sam Altman bertembung lebih daripada $ 500 bilion projek Stargate

Top 5 Genai dilancarkan pada Februari 2025: GPT-4.5, Grok-3 & More! Top 5 Genai dilancarkan pada Februari 2025: GPT-4.5, Grok-3 & More! Mar 22, 2025 am 10:58 AM

Top 5 Genai dilancarkan pada Februari 2025: GPT-4.5, Grok-3 & More!

See all articles