2 điểm bởi GN⁺ 2023-12-03 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Cải thiện hiệu quả tinh chỉnh mô hình QLoRA

  • Các mô hình QLoRA/LoRA đạt tốc độ nhanh hơn 80% và dùng ít hơn 50% bộ nhớ nhờ các bước backpropagation được suy diễn thủ công.
  • Tất cả kernel được viết bằng ngôn ngữ Triton của OpenAI đều được tối ưu mà không làm mất độ chính xác.
  • Có thể sử dụng trên GPU NVIDIA (các mẫu từ năm 2018 trở về sau, hỗ trợ CUDA 7.5+) mà không cần thay đổi phần cứng.
  • Có thể huấn luyện mô hình hiệu quả nhờ hỗ trợ Flash Attention và tinh chỉnh LoRA 4-bit cùng 16-bit.
  • Có thể huấn luyện mô hình Slim Orca trong thời gian được rút ngắn mạnh từ 1301 giờ xuống còn 260 giờ trên môi trường cục bộ.
  • Phiên bản mã nguồn mở cung cấp tốc độ huấn luyện nhanh gấp 5 lần, còn các đường mã Unsloth Pro và Max cung cấp tốc độ huấn luyện nhanh tới 30 lần.

Hướng dẫn cài đặt

  • Unsloth chỉ hỗ trợ các bản phân phối Linux và Pytorch phiên bản 2.1 trở lên.
  • Có thể cài đặt qua Conda và Pip, chọn gói phù hợp theo phiên bản CUDA để cài đặt.

Ví dụ mô hình Alpaca

  • Dùng FastLlamaModel để tải mô hình Llama và giảm mức dùng bộ nhớ thông qua lượng tử hóa 4-bit.
  • Tăng hiệu năng bằng cách vá mô hình và thêm trọng số LoRA nhanh.
  • Có thể huấn luyện mô hình bằng Trainer của Huggingface và tính năng nạp dataset.

Mục tiêu tương lai và giới hạn

  • Dự kiến sẽ hỗ trợ sqrt gradient checkpointing để giảm thêm 25% mức dùng bộ nhớ.
  • Hiện mới chỉ hỗ trợ mô hình Llama, nhưng có kế hoạch hỗ trợ thêm các mô hình khác trong tương lai.

So sánh hiệu năng

  • Khi dùng GPU Tesla T4, Unsloth cho thấy thời gian mỗi epoch nhanh hơn nhiều và mức dùng bộ nhớ thấp hơn so với Huggingface.
  • Trên cả hệ thống GPU đơn và đa GPU, các phiên bản Pro và Max của Unsloth đều cung cấp hiệu năng cao hơn.

Khắc phục sự cố

  • Cung cấp cách giải quyết khi bitsandbytes hoặc xformers không được liên kết đúng cách.
  • Hiện chưa hỗ trợ Windows; khi Xformers và Triton chính thức hỗ trợ Windows thì Unsloth cũng sẽ hỗ trợ.
  • Nếu gặp vấn đề khi cài đặt, việc cập nhật pip có thể là cách khắc phục.

Ý kiến của GN⁺

Điểm quan trọng nhất của bài viết này là việc tinh chỉnh mô hình QLoRA/LoRA nhanh hơn rất nhiều và hiệu quả bộ nhớ cao hơn so với các phương pháp hiện có. Những tối ưu hóa này giúp giảm mạnh thời gian và chi phí huấn luyện mô hình AI, nên có thể trở thành một giải pháp hấp dẫn ngay cả với các kỹ sư phần mềm mới vào nghề. Ngoài ra, bài viết cũng đưa ra một ví dụ thú vị về sự phát triển của công nghệ mã nguồn mở và cách nó nâng cao khả năng tiếp cận công nghệ.

Chưa có bình luận nào.

Chưa có bình luận nào.