2 điểm bởi GN⁺ 2024-05-09 | 1 bình luận | Chia sẻ qua WhatsApp

Consistency Large Language Models (CLLM)

  • Các LLM từ trước đến nay thường được xem là bộ giải mã tuần tự, hoạt động bằng cách giải mã liên tiếp từng token một
  • Bài blog này cho thấy các LLM đã được tiền huấn luyện có thể dễ dàng được chuyển đổi thành các bộ giải mã song song hiệu quả
  • Consistency Large Language Models (CLLM) là một họ bộ giải mã song song mới có thể giải mã hiệu quả chuỗi gồm n token ở mỗi bước suy luận để giảm độ trễ suy luận
  • CLLM mô phỏng quá trình nhận thức khi con người hình thành cả câu hoàn chỉnh trong đầu trước khi nói từng từ, và có thể được huấn luyện hiệu quả chỉ bằng cách tinh chỉnh (fine-tuning) một LLM đã tiền huấn luyện
  • CLLM được huấn luyện theo cách thực hiện giải mã song song sao cho ánh xạ một chuỗi n token được khởi tạo ngẫu nhiên thành cùng kết quả với giải mã tự hồi quy (autoregressive, AR) trong ít bước nhất có thể
  • Theo kết quả thực nghiệm, CLLM cho thấy tốc độ sinh tăng từ 2,4 đến 3,4 lần so với bộ giải mã AR truyền thống, với hiệu năng tương đương hoặc tốt hơn các kỹ thuật suy luận nhanh như Medusa2 hay Eagle
  • CLLM có thể đạt được mức cải thiện hiệu năng này mà không cần thêm chi phí bộ nhớ

Bối cảnh và giới hạn của giải mã Jacobi

  • LLM tạo token theo từng bước một bằng cách giải mã AR, nên khi tạo câu trả lời dài sẽ phát sinh độ trễ cao
  • Giải mã Jacobi bắt nguồn từ các phương pháp giải phương trình phi tuyến Jacobi và Gauss-Seidel, và đã được chứng minh là tương đương với sinh AR dùng greedy sampling
  • Giải mã Jacobi tái cấu trúc quá trình sinh tuần tự thành một hệ gồm n phương trình phi tuyến với n biến dựa trên lặp Jacobi, từ đó cho phép xử lý song song
  • Ở mỗi bước lặp, nó có thể dự đoán một hoặc nhiều token đúng, nhờ đó có khả năng tăng tốc giải mã AR
  • Tuy nhiên trên thực tế, vì LLM được huấn luyện theo kiểu AR gần như không thể sinh đúng token khi các token trước đó bị sai, nên trong phần lớn các vòng lặp Jacobi chỉ thu được một sửa đổi cho chuỗi n token, dẫn đến quỹ đạo Jacobi dài hơn
  • Các phương pháp như lookahead decoding hay speculative decoding cố gắng giảm sự kém hiệu quả này của giải mã Jacobi nhưng phát sinh thêm chi phí bộ nhớ khi suy luận, trong khi CLLM thì không

Phương pháp huấn luyện CLLM

  • Huấn luyện CLLM chủ yếu gồm hai phần: chuẩn bị quỹ đạo Jacobi và tối ưu hóa tổn thất consistency cùng tổn thất AR
  • Ở giai đoạn chuẩn bị quỹ đạo Jacobi, khi tạo toàn bộ chuỗi phản hồi gồm l token, hệ thống cắt theo từng đoạn n token và thực hiện giải mã Jacobi tuần tự cho đến khi sinh xong; chuỗi được tạo ở mỗi quỹ đạo được xem như một mục dữ liệu
  • Trong quá trình huấn luyện, tổn thất consistency và tổn thất AR được tối ưu cùng nhau; tổn thất consistency đảm bảo mô hình dự đoán nhiều token trong một lần, còn tổn thất AR giúp CLLM không lệch khỏi LLM đích để duy trì chất lượng sinh
  • Tổn thất global consistency (GC) giảm thiểu khoảng cách giữa một điểm bất kỳ trên quỹ đạo Jacobi và điểm cố định, từ đó khuyến khích CLLM dự đoán điểm cố định tại bất kỳ vị trí nào trên quỹ đạo Jacobi
  • Tổn thất local consistency (LC) thúc đẩy các trạng thái lân cận trên quỹ đạo Jacobi tạo ra cùng một đầu ra
  • Tổn thất AR bao gồm tổn thất AR truyền thống dựa trên kết quả sinh của LLM đích; mục tiêu là giữ cho CLLM không lệch khỏi phân phối của LLM đích

Kết quả thực nghiệm

  • Thực nghiệm bao gồm các tác vụ miền chuyên biệt như Spider (text-to-SQL), Human-Eval (hoàn thiện mã Python), GSM8k (toán học) và các bài kiểm tra hội thoại mở rộng như MT-bench
  • CLLM cho thấy mức tăng tốc lớn nhất so với mô hình đích, và đạt mức tăng tốc tương đương hoặc tốt hơn Medusa2 mà không có chi phí bổ sung khi suy luận
  • Trên MT-bench, CLLM đạt mức tăng tốc gần như tương đương khi kết hợp với Medusa2, đồng thời mang lại khả năng thích nghi và hiệu quả bộ nhớ cao hơn
  • Chi phí tinh chỉnh của CLLM ở mức vừa phải; ngay cả khi kích thước tập dữ liệu lớn, chỉ cần dùng khoảng 10% tập dữ liệu để tạo quỹ đạo Jacobi cũng có thể đạt mức tăng tốc khoảng 2,5 lần
  • CLLM có thể dự đoán đúng nhiều token liên tiếp trong một vòng lặp Jacobi thông qua hiện tượng fast forwarding
  • CLLM cho thấy khả năng stationary token: ngay cả khi token trước đó bị sai, nó vẫn có thể dự đoán trước token đúng và giữ nguyên chúng không thay đổi
  • Thông qua huấn luyện, CLLM học được các khái niệm ngôn ngữ cốt lõi như collocation, nhờ đó có thể suy ra cấu trúc ở bất kỳ điểm nào trên quỹ đạo Jacobi và dự đoán đồng thời nhiều từ để giảm số bước lặp xuống mức tối thiểu

Ý kiến của GN⁺

  • CLLM có vẻ đã giải quyết hiệu quả vấn đề độ trễ dài của cơ chế giải mã AR trong LLM bằng cách tận dụng giải mã Jacobi. Đặc biệt, việc đạt được tăng tốc thông qua giải mã song song mà không cần thêm chi phí bộ nhớ là rất ấn tượng

  • Phương pháp huấn luyện của CLLM có vẻ tương đối đơn giản khi chỉ tinh chỉnh LLM hiện có bằng tổn thất consistency, nhưng điểm đáng chú ý là thông qua đó mô hình học được một đặc tính ngôn ngữ quan trọng là collocation, từ đó cải thiện mạnh hiệu năng giải mã song song

  • Tuy vậy, vì CLLM giả định greedy sampling, nên vẫn cần thêm nghiên cứu để xác minh liệu nó có hoạt động tốt với các chiến lược decoding đa dạng hơn hay không. Ngoài ra, hiện tại kết quả thực nghiệm mới chỉ giới hạn ở tiếng Anh, nên khả năng khái quát sang nhiều ngôn ngữ khác cũng cần được kiểm chứng

  • CLLM có vẻ là một cách tiếp cận thực tiễn để tăng tốc độ phản hồi của LLM. Nó có thể phù hợp để áp dụng vào các tác vụ đòi hỏi tính thời gian thực như tìm kiếm web hay chatbot

  • Cá nhân tôi kỳ vọng cách huấn luyện consistency của CLLM có thể được áp dụng không chỉ cho các LLM như GPT mà còn cho những mô hình sinh khác như mô hình tạo ảnh hoặc mô hình tổng hợp giọng nói. Hy vọng ý tưởng của CLLM sẽ góp phần cải thiện hiệu quả cho nhiều mô hình sinh khác trong tương lai

1 bình luận

 
GN⁺ 2024-05-09
Ý kiến trên Hacker News
  • Trong các lớp học vẽ tự do, nếu luyện tập vẽ lặp đi lặp lại dưới giới hạn thời gian thì kỹ năng vẽ sẽ cải thiện đáng kể. Việc luyện vẽ gấp lại giúp nâng cao khả năng nắm bắt chính xác tỷ lệ và đường nét.
  • Jacobi decoding giống với greedy autoregressive decoding, nhưng trên thực tế cần đặt sampling temperature lớn hơn 0 để tránh lặp lại và tránh các phản hồi quá chung chung.
  • Chẳng bao lâu nữa chúng ta sẽ nhận ra rằng không cần huấn luyện mô hình. Chỉ cần indexing và sampling tốt. Về cơ bản, LLM tương đương với một DB của tập dữ liệu có giao diện NLP xuất sắc.
  • Mức cải thiện hiệu năng suy luận trong bài báo CLLM rất đáng chú ý. Chi phí fine-tuning hợp lý (khoảng 0,01% chi phí pretraining) và mức cải thiện hiệu năng cũng khá nhất quán.
  • Jacobi trajectories loại trừ các đường đi ở nhiệt độ cao, nên có thể tích cực cho truy xuất dữ liệu nhưng lại bất lợi cho việc tối đa hóa tính sáng tạo.
  • Sẽ thật hay nếu có tính năng "hỏi chuyên gia AI" để giải thích vì sao LLM không phản hồi một cách quyết định cho cùng một prompt.
  • Không rõ mức tăng tốc của Groq(https://groq.com/) có phải nhờ phương pháp này hay họ đang dùng cách khác.