Views
No views yet
0.13.0.dev01# =======================================================
2# CONFIG TỐI ƯU CHO FULL FINE-TUNING LLAMA-3-8B TRÊN 8xA100
3# Dành cho nhiệm vụ Text-to-Cypher
4# =======================================================
5
6# --- Mô hình cơ sở ---
7base_model: Qwen/Qwen3-8B
8model_type: Qwen3ForCausalLM
9tokenizer_type: Qwen2Tokenizer
10
11# --- Dữ liệu ---
12# Đường dẫn đến tệp JSONL đã được xử lý bởi script Python
13datasets:
14 - path: finetuning_dataset.jsonl
15 type: alpaca # Sử dụng định dạng alpaca, rất phù hợp với instruction/input/output
16val_set_size: 0.05 # Dành 5% dữ liệu để đánh giá trong quá trình huấn luyện
17dataset_prepared_path: prepared_data # Nơi lưu cache dữ liệu đã xử lý
18
19# --- Cấu hình Huấn luyện ---
20sequence_len: 4096 # Tối đa hóa ngữ cảnh để chứa được schema dài
21sample_packing: true # "Nhồi" các mẫu ngắn lại để tăng hiệu quả sử dụng GPU
22pad_to_sequence_len: true # Đảm bảo mọi chuỗi đầu vào đều dài bằng nhau
23
24# --- Kỹ thuật Fine-tuning (Full fine-tuning) ---
25# Để trống hoặc xóa phần 'adapter' để thực hiện Full Fine-tuning
26adapter:
27
28# --- Tối ưu Hiệu suất & Phân tán ---
29gradient_accumulation_steps: 2
30micro_batch_size: 4 # Batch size trên mỗi GPU (A100 có thể xử lý tốt)
31# Global batch size = 8 GPUs * 4 (micro) * 2 (accum) = 64. Một con số tốt cho sự ổn định.
32num_epochs: 3 # Số lần lặp qua toàn bộ dữ liệu, 3 là một điểm khởi đầu tốt.
33
34# --- Optimizer và Learning Rate ---
35optimizer: adamw_torch_fused # Optimizer hiệu quả cao
36learning_rate: 2.0e-5 # Learning rate tiêu chuẩn cho full fine-tuning
37lr_scheduler: "cosine" # Giúp mô hình hội tụ tốt hơn
38warmup_steps: 100 # Số bước "khởi động" cho learning rate
39
40# --- Tối ưu Phần cứng cho A100 ---
41torch_compile: true # Biên dịch mô hình bằng PyTorch 2.0+ để tăng tốc độ
42bf16: true # Sử dụng định dạng BFloat16, tối ưu cho kiến trúc Ampere (A100)
43flash_attention: true # Bắt buộc phải có để tăng tốc độ tính toán attention
44
45# --- Cấu hình Phân tán FSDP ---
46gradient_checkpointing: true # Tiết kiệm VRAM bằng cách không lưu toàn bộ intermediate activations
47deepspeed: # Để trống, vì chúng ta dùng FSDP
48fsdp:
49 - "full_shard"
50 - "auto_wrap"
51fsdp_config:
52 fsdp_auto_wrap_policy: TRANSFORMER_BASED_WRAP
53 fsdp_transformer_layer_cls_to_wrap: Qwen3DecoderLayer # Lớp cụ thể cho mô hình Llama
54 fsdp_sharding_strategy: FULL_SHARD # Phân mảnh toàn bộ mô hình, optimizer và gradients
55 fsdp_offload_params: false # Giữ tham số trên VRAM của GPU vì bạn có đủ
56 fsdp_state_dict_type: FULL_STATE_DICT # Lưu checkpoint đầy đủ để dễ dàng resume
57
58# --- Lưu trữ và Logging ---
59output_dir: ./outputs/qwen3-8b-cypher-expert-v1 # Đặt tên cho mô hình của bạn
60save_strategy: "steps"
61save_steps: 200 # Lưu checkpoint sau mỗi 200 bước huấn luyện
62logging_steps: 10 # Ghi log sau mỗi 10 bước
63
64