CPT pada Nova 2.0 - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

CPT pada Nova 2.0

Amazon Nova Lite 2.0 adalah model penalaran yang dilatih pada kumpulan data yang lebih besar dan lebih beragam daripada Nova Lite 1.0. Meskipun merupakan model yang lebih besar, Nova Lite 2.0 memberikan inferensi yang lebih cepat daripada Nova Lite 1.0 sambil menawarkan kemampuan penalaran yang ditingkatkan, panjang konteks yang lebih panjang, dan peningkatan kinerja multibahasa.

CPT di Nova 2.0 memungkinkan Anda untuk memperluas kemampuan canggih ini dengan data spesifik domain Anda, memungkinkan model untuk mengembangkan keahlian mendalam di bidang khusus sambil mempertahankan penalaran dan kemampuan analitisnya yang unggul.

Persiapan data untuk CPT pada 2.0

Persyaratan format data

Kumpulan data pelatihan dan validasi harus berupa file JSONL mengikuti format yang ditunjukkan di bawah ini, di mana setiap baris berisi objek JSON yang mewakili percakapan dengan bidang dan struktur yang diperlukan. Inilah contohnya:

{"text": "AWS stands for Amazon Web Services"} {"text": "Amazon SageMaker is a fully managed machine learning service"} {"text": "Amazon Bedrock is a fully managed service for foundation models"}

Entri teks harus berisi konten berkualitas tinggi yang mengalir secara alami yang mewakili domain target.

Uji apakah data tersebut mampu diubah menjadi format Arrow. Gunakan skrip python di bawah ini untuk membantunya. Pastikan datasets==2.18.0 versi minimal digunakan:

from datasets import load_dataset, load_from_disk from pathlib import Path input_path = Path("<Your jsonl file>") output_path = Path("<Your output directory>") dataset = load_dataset("json", data_files=str(input_path), split="train") dataset.save_to_disk(str(output_path), max_shard_size="1GB") try: test_dataset = datasets.load_from_disk(output_dir) print(f"Dataset loaded successfully ✅! Contains {len(test_dataset)} samples") except Exception as e: print(e)

Ini harus mencetak jumlah baris yang sama yang ada di file JSONL.

Saat menggunakan datamixing, jalankan pekerjaan pertama dengan. max_steps=2 Ini akan membantu membuat pengoptimalan di cluster untuk akses data dan memvalidasi bahwa semua datamix tersedia.

Cara menyiapkan data untuk CPT

Data pelatihan adalah faktor penentu yang paling penting untuk keberhasilan pra-pelatihan berkelanjutan. Sementara data CPT sering digambarkan sebagai “tidak berlabel,” kenyataannya jauh lebih bernuansa. Bagaimana data disusun, diformat, dan disajikan menentukan apakah model akan memperoleh pengetahuan dan keterampilan yang diperlukan untuk kasus penggunaan bisnis.

Mempersiapkan kumpulan data bisnis terstruktur untuk CPT

Ini adalah tantangan umum bagi perusahaan dan organisasi yang membangun model pondasi khusus dalam domain mereka. Sebagian besar bisnis memiliki repositori data terstruktur yang kaya: katalog produk, profil pengguna, log transaksi, pengiriman formulir, panggilan API, dan metadata operasional. Pada pandangan pertama, ini terlihat sangat berbeda dari teks web tidak terstruktur yang biasanya digunakan dalam pra-pelatihan standar.

Untuk belajar secara efektif dari data bisnis terstruktur, pikirkan baik-baik tentang tugas-tugas hilir dan rancang presentasi data untuk memaksa model mempelajari hubungan prediktif yang tepat.

Untuk membuka potensi penuh dari pra-pelatihan berkelanjutan, pertimbangkan:

  • Tugas apa yang harus dilakukan model pada waktu inferensi

  • Informasi apa yang ada dalam data mentah

  • Bagaimana menyusun data itu sehingga model belajar mengekstrak dan memanipulasi informasi dengan benar

Cukup membuang data terstruktur ke dalam pelatihan tidak akan mengajarkan model untuk bernalar tentang hal itu. Secara aktif membentuk presentasi data untuk memandu apa yang dipelajari model.

Pada bagian berikut, ada tinjauan literatur yang menunjukkan pentingnya augmentasi data dan memberikan contoh strategi augmentasi untuk data bisnis terstruktur yang akan memberikan ide-ide berguna tentang bagaimana memperlakukan dan mengatur dataset bisnis untuk CPT.

Data terstruktur untuk CPT dalam literatur

CPT dapat mengemas fakta domain ke dalam model tetapi sering gagal membuat fakta tersebut dapat diambil dan dimanipulasi ketika input atau tugas bergeser. Eksperimen terkontrol menunjukkan bahwa tanpa augmentasi yang beragam selama pra-pelatihan, model menghafal fakta dengan cara rapuh yang tetap sulit untuk diekstraksi bahkan setelah penyetelan instruksi selanjutnya, dan mereka merekomendasikan penyuntikan instruksi seperti sinyal di awal pelatihan. Untuk data semi terstruktur, serialisasi acak dan augmentasi lainnya mengurangi overfitting skema, itulah sebabnya CPT harus disisipkan dengan tugas gaya instruksi daripada dijalankan terlebih dahulu dan IFT nanti. Pekerjaan yang berfokus pada keuangan lebih lanjut menemukan bahwa bersama-sama mencampur CPT dan data instruksi pada waktu batch meningkatkan generalisasi dan mengurangi lupa versus resep berurutan. Laporan teknis Qwen menyatu pada pola yang sama dengan mengintegrasikan data instruksi berkualitas tinggi ke dalam pra-pelatihan itu sendiri, yang meningkatkan pembelajaran konteks dan mempertahankan instruksi berikut sambil memperoleh pengetahuan domain baru.

Augmentasi data untuk korpora semi terstruktur adalah tuas kunci. CPT sadar grafik sintetis memperluas kumpulan domain kecil menjadi korpora terkait entitas yang secara eksplisit mengajarkan hubungan dan senyawa dengan pengambilan pada waktu inferensi. Gabungan CPT plus pencampuran instruksi mengungguli jaringan pipa berurutan di bidang keuangan dan menyeimbangkan domain dengan data umum menurunkan degradasi keterampilan umum. CPT domain skala sangat besar juga dapat mempertahankan kemampuan yang luas dan bahkan memungkinkan trade off melalui penggabungan model, namun masih menunjuk ke penyetelan instruksi sebagai langkah penting berikutnya, memperkuat nilai pengenalan sinyal instruksi selama CPT.

Menyuntikkan keragaman melalui pengacakan dan pengocokan

Strategi umum yang membantu mengajarkan model secara efektif dari kumpulan data terstruktur dan semi terstruktur adalah dengan mengacak urutan bidang dalam kumpulan data, dan bahkan secara acak mengeluarkan beberapa kunci.

Mengacak bidang memaksa model untuk membaca apa arti setiap nilai alih-alih di mana ia muncul dan mempelajari hubungan antara semua bidang. Misalnya, dalam kasus permainan video yang diposting di toko amazon, ketika “Judul,” “Platform,” “Harga,” “Kondisi,” dan “Edisi” tiba dalam permutasi yang berbeda, model tidak dapat mengandalkan “slot ketiga adalah platform”; itu harus mengikat label ke nilai dan mempelajari hubungan bilateral antara atribut: judul platform, harga platform, kondisi harga. Jadi dapat, misalnya, menyimpulkan kemungkinan platform dari nama game dan harga yang diamati, atau memperkirakan kisaran harga yang masuk akal yang diberikan judul dan platform.

Menjatuhkan kunci secara acak selama serialisasi bertindak seperti putus fitur: ini mencegah adaptasi bersama pada satu bidang dan memaksa model untuk memulihkan informasi yang hilang dari bukti yang tersisa. Jika “Platform” tidak ada, model harus mengambilnya dari string judul atau teks kompatibilitas; jika “Harga” disembunyikan, ia harus melakukan triangulasi dari platform, edisi, dan kondisi. Ini membangun simetri (A→B dan B→A), ketahanan terhadap daftar dunia nyata yang berantakan, dan invarian skema saat bidang hilang, diganti namanya, atau disusun ulang.

Contoh gaya belanja membuatnya konkret. Serialisasi item yang sama beberapa cara—"Judul: 'Elden Ring' | Platform: PlayStation 5 | Kondisi: Digunakan — Seperti Baru | Harga: $34,99" dan permutasi seperti “Harga: $34,99 | Judul: 'Elden Ring' | Kondisi: Digunakan — Seperti Baru | Platform: 5"—dan pada beberapa lintasan, jatuhkan “Platform” sambil meninggalkan “Kompatibel dengan" dalam deskripsi. PlayStation PS5 Latih tujuan pelengkap seperti memprediksi platform dari {title, price} dan memprediksi ember harga dari {title, platform}. Karena urutan dan bahkan kehadiran kunci bervariasi, satu-satunya strategi yang stabil adalah mempelajari hubungan sejati antara atribut daripada menghafal templat.

Cara data disajikan penting

LLMs belajar dengan memprediksi token berikutnya dari apa yang telah mereka lihat. Jadi urutan bidang dan acara yang ditampilkan selama pelatihan memutuskan apa yang dapat dipelajari model. Jika format pelatihan cocok dengan tugas sebenarnya, kerugian mendarat pada token keputusan yang tepat. Jika bidang dilemparkan bersama tanpa struktur, model mempelajari pintasan atau menghafal popularitas dan kemudian gagal ketika diminta untuk memilih di antara opsi.

Tunjukkan situasinya terlebih dahulu, lalu pilihannya, lalu keputusannya. Jika model juga harus belajar tentang hasil atau penjelasan, letakkan setelah keputusan.

Sampel pengepakan untuk CPT

Apa itu pengepakan?

Ini hanya berarti mengisi setiap jendela urutan dalam data pelatihan dengan beberapa contoh utuh sehingga jendela padat dengan token nyata, bukan padding.

Mengapa itu penting

Selama pelatihan panjang konteks maksimum ditetapkan, misalnya 8.192 token. Batch dibentuk menjadi [ukuran batch × panjang konteks]. Jika contoh pelatihan lebih pendek dari panjang konteks, posisi yang tersisa akan empuk. Padding masih berjalan melalui perhatian dan kernel MLP bahkan jika kerugian ditutupi, jadi komputasi dibayar untuk token yang tidak membawa sinyal pembelajaran.

Bagaimana cara melakukan pengepakan?

Untuk mengemas beberapa sampel, gabungkan beberapa sampel pelatihan dengan [DOC] pemisah di antaranya (perhatikan ruang sebelum dan sesudah [DOC]) sehingga panjang penuh sampel berada di bawah panjang konteks yang diinginkan.

Contoh dokumen yang dikemas akan terlihat seperti ini:

{"text": "training sample 1 [DOC] training sample 2 [DOC] training sample 3"}