Consistency LLM: Biến LLM thành bộ giải mã song song, tăng tốc suy luận tối đa 3,5 lần
(hao-ai-lab.github.io)- Khi tạo câu trả lời dài, giải mã tự hồi quy (AR) sinh từng token một là nút thắt độ trễ chính; CLLM là cách tiếp cận nhằm giảm nút thắt này bằng giải mã song song theo đơn vị n token
- Consistency Large Language Models (CLLMs) tinh chỉnh LLM đã tiền huấn luyện để học cách ánh xạ nhanh một trạng thái n token bất kỳ tới cùng điểm cố định như kết quả greedy AR
- Về lý thuyết, Jacobi decoding hội tụ về cùng kết quả với sinh greedy AR, nhưng trên các LLM hiện có, mức tăng tốc chỉ giới hạn khoảng 1,05 lần nên tính thực tiễn còn thấp
- Trong các thí nghiệm trên Spider, Human-Eval, GSM8k và MT-bench, CLLM cho thấy tốc độ sinh tăng 2,4 lần đến 3,4 lần, được đánh giá tương đương hoặc tốt hơn các kỹ thuật suy luận nhanh như Medusa2 và Eagle
- Khi suy luận, không cần thành phần mô hình phụ trợ hay thay đổi kiến trúc của mô hình đích, nên có thể đồng thời hướng tới cải thiện tốc độ và hiệu quả bộ nhớ
Nút thắt giải mã mà CLLM nhắm tới
- LLM được dùng trong nhiều lĩnh vực như lập trình, pháp lý, tư vấn sức khỏe, nhưng ở giai đoạn suy luận thường tạo token từng cái một bằng giải mã tự hồi quy (AR)
- Câu trả lời càng dài thì độ trễ càng tăng do cách sinh theo từng token, làm thời gian chờ mà người dùng cảm nhận được lớn hơn
- Các phương pháp suy luận nhanh hiện có thường đòi hỏi sửa đổi kiến trúc, thành phần phụ trợ hoặc mô hình nháp để tạo nhiều token cùng lúc
Cách Jacobi decoding hoạt động và các giới hạn
- Jacobi decoding là phương pháp bắt nguồn từ lặp điểm cố định Jacobi và Gauss-Seidel, và đã được chứng minh là tương đương với sinh AR trong giải mã greedy
- Nó chuyển quá trình sinh tuần tự thành một hệ gồm n biến và n phương trình phi tuyến, rồi cho phép tính song song bằng lặp Jacobi
- Luồng xử lý cụ thể như sau
- Từ prompt đầu vào, đoán ngẫu nhiên n token tiếp theo
- Đưa prompt và chuỗi n token vào LLM để cập nhật lặp đi lặp lại
- Khi chuỗi không còn thay đổi nữa thì đạt đến điểm cố định (fixed point)
- Chuỗi n token cuối cùng sẽ hội tụ về đầu ra mà giải mã AR theo chiến lược greedy đã tạo ra
- Đường đi từ dự đoán ngẫu nhiên ban đầu đến kết quả sinh AR cuối cùng được gọi là quỹ đạo Jacobi (Jacobi trajectory)
- Jacobi decoding cơ bản trên LLM thực tế chỉ cho mức tăng tốc hạn chế, trung bình khoảng 1,05 lần so với giải mã AR
- LLM được huấn luyện theo kiểu AR sẽ khó dự đoán đúng token phía sau nếu token phía trước bị sai
- Phần lớn các vòng lặp Jacobi chỉ sửa được một token trong chuỗi n token, khiến quỹ đạo kéo dài
- Lookahead decoding và speculative decoding cố giảm sự kém hiệu quả của Jacobi decoding và AR decoding truyền thống, nhưng phát sinh thêm chi phí bộ nhớ khi suy luận
Mục tiêu huấn luyện của Consistency LLM
- CLLM thích nghi LLM đã tiền huấn luyện để nó di chuyển nhất quán từ một điểm bất kỳ trên quỹ đạo Jacobi tới điểm cố định
- Mục tiêu này tương tự mục tiêu của consistency models, một kỹ thuật tăng tốc cho mô hình khuếch tán
- Sử dụng các quỹ đạo Jacobi thu thập từ mô hình đích, mô hình được huấn luyện bằng một hàm mất mát khuyến khích hội tụ trong một bước trong quá trình lặp Jacobi
- Việc biến mỗi mô hình đích thành CLLM gồm hai phần
- Chuẩn bị quỹ đạo Jacobi
- Với mỗi prompt, chạy Jacobi decoding tuần tự trên mọi đoạn cắt theo đơn vị n token
- Toàn bộ chuỗi phản hồi trở thành dạng ghép nối của các điểm cố định liên tiếp
- Mỗi chuỗi được sinh ra trong quỹ đạo được tính là một mẫu dữ liệu huấn luyện
- Cắt theo n token được dùng để tránh suy giảm tốc độ do phải đánh giá toàn bộ đầu vào dài trong các phản hồi dài
- Tối ưu hóa chung consistency loss và AR loss
- consistency loss khuyến khích dự đoán nhiều token cùng lúc
- AR loss giúp CLLM không lệch khỏi phân phối của LLM đích, nhờ đó giữ chất lượng sinh
- Chuẩn bị quỹ đạo Jacobi
Cấu trúc hàm mất mát
- Gọi LLM đích là
p, và CLLM làqθ;qθđược khởi tạo bằng tham số củap - Global consistency (GC) loss khuyến khích CLLM xuất ra điểm cố định
y*khi nhận đầu vào là một trạng thái bất kỳytrên quỹ đạo Jacobi - Local consistency (LC) loss buộc hai trạng thái liền kề
y(j)vày(j+1)trên quỹ đạo Jacobi cho cùng một đầu ra - Khoảng cách giữa các phân phối
D(·||·)tuân theo các lựa chọn được thảo luận trong phương pháp GKD; trong thí nghiệm này chủ yếu dùng forward KL - AR loss áp dụng hàm mất mát tự hồi quy truyền thống dựa trên kết quả sinh
lcủa LLM đíchpđể ngăn mô hình lệch khỏi phân phối của LLM đích - Tổng loss huấn luyện được cấu thành từ consistency loss cộng với AR loss có gắn trọng số
w
Thiết lập và kết quả thí nghiệm
- Thí nghiệm bao gồm ba tác vụ miền chuyên biệt và một benchmark hội thoại miền mở
- Spider: text-to-SQL
- Human-Eval: hoàn thành mã Python
- GSM8k: toán học
- MT-bench: hội thoại miền mở
- Tùy theo tác vụ, các mô hình đích được dùng gồm coder LLM đã fine-tune, Deepseek-coder-7B-instruct, LLaMA-2-7B, ABEL-7B-001
- Cả huấn luyện và đánh giá đều được thực hiện trên máy chủ NVIDIA A100 40GB
- Trong các miền chuyên biệt, khi so với mô hình đích ban đầu, Medusa2, speculative decoding và các baseline khác, CLLM cho mức tăng tốc lớn nhất
- Trên MT-bench, CLLM được huấn luyện từ LLaMA2-7B bằng bộ dữ liệu ShareGPT, khi kết hợp với lookahead decoding, đạt mức tăng tốc tương đương Medusa2
- Điểm MT-bench cũng ở mức có thể so sánh
- CLLM không cần sửa đổi kiến trúc gốc của mô hình đích
- Không có thành phần phụ trợ nên hiệu quả bộ nhớ cao
Chi phí huấn luyện
- Chi phí fine-tune CLLM được mô tả là ở mức trung bình
- LLaMA-7B chỉ cần chạy qua khoảng 1 triệu token trên bộ dữ liệu Spider để đạt mức tăng tốc 3,4 lần
- Với bộ dữ liệu lớn như CodeSearchNet-Python, chỉ dùng 10% dữ liệu để tạo quỹ đạo Jacobi cũng đạt khoảng 2,5 lần tăng tốc
- Tổng số token được ước tính bằng công thức sau
- số quỹ đạo trung bình trên mỗi prompt × độ dài quỹ đạo trung bình × số lượng prompt
- Chi phí huấn luyện ước tính theo từng bộ dữ liệu như sau
- Spider: 2 triệu token,
< 0,01%chi phí tiền huấn luyện - CodeSearchNet-Python: 100 triệu token,
~0,1%chi phí tiền huấn luyện - GSM8K: 10 triệu token,
~0,01%chi phí tiền huấn luyện - ShareGPT: 200 triệu token,
~0,2%chi phí tiền huấn luyện
- Spider: 2 triệu token,
Fast forwarding và stationary tokens
- LLM đích thường chỉ sinh đúng một token trong một vòng lặp Jacobi
- Với CLLM, xuất hiện hiện tượng fast forwarding khi một vòng lặp Jacobi có thể dự đoán đúng nhiều token liên tiếp
- Ở LLM đích, ngay cả các token đã được sinh đúng trước đó cũng có thể bị đổi thành token sai trong các vòng lặp sau
- CLLM cho thấy khả năng dự đoán trước token đúng ngay cả khi token phía trước còn lỗi, và vẫn giữ các token đó ở các bước sau
- Những token như vậy được gọi là stationary tokens
- Fast forwarding và stationary tokens giúp Jacobi decoding của CLLM hội tụ nhanh hơn, từ đó góp phần tăng tốc độ sinh
Học các mẫu ngôn ngữ
- Qua huấn luyện, CLLM được quan sát là học được khái niệm ngôn ngữ gọi là collocations
- Collocation là chuỗi từ hoặc thuật ngữ xuất hiện cùng nhau thường xuyên hơn mức ngẫu nhiên
- Có thể thấy ví dụ về collocation trong cả ngôn ngữ tự nhiên lẫn mã nguồn
- Ngôn ngữ tự nhiên:
talk to,remind … of … - Cấu trúc động từ + danh từ:
make a decision,catch a cold - Cấu trúc ngữ pháp theo miền:
SELECT … FROM …,if … else
- Ngôn ngữ tự nhiên:
- Mục tiêu sinh theo consistency khiến CLLM suy ra các cấu trúc này ở bất kỳ điểm nào trên quỹ đạo Jacobi, từ đó khuyến khích dự đoán nhiều từ cùng lúc để giảm số bước lặp
Tài liệu và mã nguồn
- Có thể xem chi tiết trong bài báo
- Phần triển khai được cung cấp trong codebase
- CLLM checkpoints cũng đã được công bố
1 bình luận
Các ý kiến trên Hacker News
Điều này giống với trải nghiệm của tôi khi tham gia một lớp “vẽ tự do” (không có bài giảng)
Từ nhỏ tôi đã được khen là vẽ đẹp, nhưng thực ra tôi nhớ mình chỉ lặp lại những bức vẽ chi tiết tương tự từng vẽ trước đó, hoặc bỏ rất nhiều thời gian để vẽ. Tôi nghĩ chỉ cần có thời gian và kiên nhẫn thì ai cũng có thể vẽ một cảnh trông khá thuyết phục
Lớp học không có quy tắc hay bài giảng; mỗi người mang theo vật liệu mình muốn. Có người mang mực, có người mang bút chì, tôi mang than vẽ, và thứ duy nhất được quy định là thời gian giữa các tư thế của mẫu. Vài tư thế đầu rất ngắn, khoảng 1 phút, rồi dần dài hơn đến các tư thế 5 phút; bất cứ lúc nào cũng có thể xé tranh và vẽ lại cùng một tư thế
Phần khởi động ngắn thực ra buộc bạn phải nắm đúng tỉ lệ và đường nét ngay từ lần thử đầu tiên. Trái với quan niệm phổ biến rằng vội vàng sẽ làm hỏng việc, khi học hoặc mài giũa kỹ năng, sự gấp gáp dường như hoạt động như một yếu tố gây căng thẳng thúc đẩy sự chú ý và học tập
Trước lớp học, có lẽ tôi cũng có thể vẽ được tranh có chất lượng tương tự, nhưng tôi chắc chắn là sẽ mất thời gian gấp 5–10 lần. Cách bị buộc không được vòng vo và cảm nhận cái giá của những sai lầm vội vã đã có hiệu quả
Tuy vậy, tôi thấy hơi tiếc khi gọi kỹ thuật này là Consistency. Cái tên đó hợp với cải thiện hiệu năng hơn, nhưng có vẻ kém phù hợp với cải thiện tốc độ suy luận; tôi hiểu ý là “tính nhất quán với kết quả rốt cuộc sẽ xuất hiện nếu tạo từng token một”. Tôi thà gọi nó là Proficiency LLM, với kỳ vọng cùng một đầu ra nhưng không có sự kìm hãm kiểu mò mẫm để đi đến cùng kết luận
Trong vẽ, ta có thể đặt thời gian cho phép cho mỗi lần thử và dần rút ngắn nó. Với CLLM, có vẻ có thể làm quá trình huấn luyện khó hơn bằng cách ánh xạ các trạng thái ngày càng xa hơn trên quỹ đạo Jacobi về trạng thái cuối cùng
Thuật ngữ “consistency” được lấy từ sự tương đồng giữa consistency model trong sinh ảnh khuếch tán và consistency LLM, vì quá trình huấn luyện của chúng khá giống nhau
Sinh viên bước vào phòng thí nghiệm, nhận mẫu vật, và chỉ được chỉ dẫn: “Vẽ cái này trong 30 phút. Bắt đầu”
Không có những câu như “vẽ là phải thế này”, “hãy làm cái này, đừng làm cái kia”; về cơ bản nó gần với “bạn lo lắng hay nghĩ mình không vẽ được cũng mặc kệ. Đừng bào chữa, cứ vẽ đi. Ngay bây giờ”
Tất cả chúng tôi đều vẽ, và suốt mùa hè, khi ngày càng có thêm nhiều loài vật được đưa vào và cùng bài tập đó lặp lại, tất cả đều tiến bộ cực kỳ nhiều
Điều lớp học đó dạy là bất kỳ ai, thật sự là bất kỳ ai, cũng có thể vẽ. Thái độ chung của cả nhóm chuyển từ “không biết chuyện này có làm được không” sang “dĩ nhiên là làm được. Dễ, bình thường, chẳng có gì to tát”
Đây là một cách tiếp cận rất đáng khuyến nghị, và là một trong những lớp học mang lại cảm giác giải phóng và đáng kinh ngạc nhất mà tôi từng học ở đại học
Các tác giả nói Jacobi decoding tương đương với greedy autoregressive decoding, nhưng trên thực tế chẳng phải ta thường muốn đặt sampling temperature lớn hơn 0 để tránh lặp lại và những câu trả lời quá chung chung sao?
Tôi hoàn toàn không biết chiến lược giải mã này, nên có thể tôi đang bỏ lỡ một cách đơn giản để phản ánh điều đó
Trong bối cảnh huấn luyện CLLM, thay vì ánh xạ điểm cố định tĩnh thu được bằng Jacobi decoding làm mục tiêu học, chúng tôi gọi nó là điểm cố định động. Bạn có thể theo dõi kho GitHub để biết tiến triển mới
Một bước tinh chỉnh để học sao cho quỹ đạo tiến gần đến phần hoàn thành n-token có các thống kê mong muốn có lẽ vẫn khả thi, nhưng tôi không rõ có thể thay thế bước kiểm tra điểm cố định như thế nào. Có thể là kiểu “kiểm tra xem likelihood có vượt quá một ngưỡng cố định nào đó hay không”
Đây có vẻ là một tối ưu hóa khá rủi ro để thực hiện trước khi thật sự hiểu điều gì đang diễn ra bên trong LLM. Chẳng hạn, những người tin vào cách diễn giải hình học hẳn sẽ có điều muốn nói, và nếu dùng token “điền vào” thì có vẻ cũng có thể gây hại
Ngoài ra, giả định rằng “ta tạo một câu hoàn chỉnh trong đầu rồi nói từng từ một” chỉ là một giả định chứ không phải sự thật phổ quát, và dường như đơn giản hóa quá mức hoạt động diễn ra trong tâm trí chúng ta. Chúng ta có thật sự có một kế hoạch hoàn chỉnh trước khi nói hay gõ không? Với tư cách là một Phật tử, tôi thấy điều đó gần giống ảo tưởng. Xa hơn nữa, những suy nghĩ đồng thời thì sao? Chúng ta có suy nghĩ tuyến tính theo đơn vị câu không?
Dù sao thì phần toán học khá tuyệt
Đừng đối xử với LLM như một thứ ma thuật giống tâm trí chúng ta. Nó chỉ là một chương trình khác tạo ra các câu có vẻ hợp lý mà thôi
Nếu yêu cầu người ta giải thích một sự kiện phức tạp trong quá khứ theo nhiều nhánh, họ sẽ nhanh chóng chen các mảnh, phần bổ sung và nhánh phụ vào giữa câu để bao quát toàn bộ phạm vi sự kiện. Tôi không nghĩ mình từng thấy giả thuyết về độ hạt theo đơn vị câu trong một bối cảnh khoa học nghiêm túc
Đôi khi giữa câu tôi rơi vào ngõ cụt về mặt ngữ pháp và phải kết thúc ý nghĩ bằng một từ hoặc cụm từ vụng về, hoặc đơn giản là dừng lại rồi nói lại từ đầu
Cũng không thấy có lý do rõ ràng nào để hiện tượng này đột ngột mất hiệu lực ở cấp độ câu
Thật đáng ngạc nhiên là nó không được chú ý nhiều hơn. Đây có vẻ là lợi ích rõ ràng về hiệu năng suy luận
Chi phí tinh chỉnh này là hợp lý, chỉ khoảng 0,01% chi phí tiền huấn luyện ban đầu. Lợi ích về hiệu năng cũng có vẻ khá nhất quán
Tôi không biết rõ bài báo nào khác từng đề xuất có thể tăng hiệu năng suy luận LLM đến mức này. Trước đây đã có chưa?
Nhất là trong điều kiện vẫn duy trì chất lượng đầu ra, cải thiện không chỉ độ trễ truy vấn mà cả thông lượng tổng thể, không đòi hỏi thêm tính toán, triển khai tương đối thực dụng và không thêm nhiều độ phức tạp
Vì nó được xây trên các công trình về giải mã song song/Jacobi, nên bản thân insight cũng có thể xem là mang tính tiệm tiến. Các kết quả trước đó cũng cần thiết và quan trọng, nhưng đây có thể là kết quả thực sự rút ra giá trị ngoài đời thực từ tiềm năng của giải mã song song
Vì vậy công trình này thật sự thú vị, và theo tôi biết trước đây cũng từng có những thử nghiệm kém thành công hơn, nhưng tác động thực tế sẽ lớn đến đâu thì vẫn chưa rõ
Huấn luyện với nhiều dữ liệu hơn thì tốc độ sẽ còn tăng thêm, vì mô hình có thể học từ các cụm từ và cấu trúc xuất hiện thường xuyên hơn
Chi tiết thì có thể xem trong bài báo, và cũng có thể thấy mức tăng tốc bị bão hòa khi kích thước dữ liệu huấn luyện tăng lên
Lúc đầu tôi tưởng đây là kiểu bài như Medusa, dùng thêm unembed head để đoán các token tiếp theo, nhưng hóa ra hoàn toàn không phải
Thật sự rất ấn tượng. Không dùng thêm tham số, chỉ thêm một loss huấn luyện phụ trợ
Kỹ thuật huấn luyện và kỹ thuật giải mã hoàn toàn khác nhau, và như bạn đã chỉ ra, CLLM không cần thêm tham số hay thiết lập attention mask để xác minh dựa trên cây
Tôi nghĩ rồi chúng ta sẽ sớm nhận ra rằng không nhất thiết phải huấn luyện mô hình
Thứ cần thiết là lập chỉ mục và lấy mẫu tốt
Về bản chất, ở một mức độ nào đó, mọi LLM đều giống như một cơ sở dữ liệu của dữ liệu trong dataset, với một giao diện ngôn ngữ tự nhiên tuyệt vời đặt lên trên
Cả hai chỉ là những cách khác nhau để khám phá dữ liệu đã lưu trữ
LLM không khám phá dữ liệu đã lưu trữ. LLM không phải là cơ sở dữ liệu của dữ liệu huấn luyện
https://news.ycombinator.com/item?id=40266791
Có nơi nào để một người không rành như tôi có thể “hỏi chuyên gia AI” không?
Ví dụ tôi muốn hỏi vì sao LLM nhận cùng một prompt mà lại không trả lời theo cùng một cách xác định
Tôi muốn học điều này, và có lẽ phải làm theo các video kiểu “tạo LLM trong 1 giờ” trên YouTube
Quá trình chọn có thể có nhiều núm điều chỉnh để thao tác phản hồi. Nếu muốn làm cho nó xác định và có quyền truy cập trực tiếp vào phần mềm, tùy phần mềm bạn dùng, đặt
top-k = 1hoặctemperature = 0.0là nó sẽ trở nên xác địnhThông thường thiết lập mặc định không mang tính xác định, vì khi làm hoàn toàn xác định thì chất lượng kết quả có xu hướng không tốt lắm
Mô hình LLM xuất ra một vector xác suất cho các token, và người dùng LLM dùng số ngẫu nhiên để chọn token từ danh sách có khả năng cao
Khi nhập prompt, nó tính xác suất từ tiếp theo sẽ xuất hiện, rồi lặp lại quá trình đó để cuối cùng tạo ra câu. Các xác suất đã học dựa trên dữ liệu huấn luyện
Vì mô hình xác suất nền tảng như vậy nên nó không xác định 100%. Hơn nữa, các mô hình như ChatGPT còn cố ý có tham số
temperatuređể thêm tính ngẫu nhiên vào toàn bộ quá trìnhNếu muốn đọc thêm, câu trả lời này dựa trên bài báo sau: The Matrix: A Bayesian learning model for LLMs, https://arxiv.org/abs/2402.03175
Nhưng nếu đặt temperature thấp nhất có thể, chất lượng câu trả lời thường có xu hướng rất thấp. Hệ thống bị kẹt ở một cực trị cục bộ nào đó và cứ lặp lại. Câu trả lời như vậy có thể “xác định”, nhưng không hay
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-...
Không có bữa trưa miễn phí, nên theo tôi ở đây cũng có một dạng mất mát đường đi nào đó
Ví dụ một số quỹ đạo Jacobi theo định nghĩa sẽ loại trừ các đường đi có temperature cao hơn. Nhìn từ góc độ truy xuất dữ liệu thì điều đó có thể còn tích cực, nhưng nếu muốn tối đa hóa tính sáng tạo thì có thể là tiêu cực
Tôi không chắc “không có bữa trưa miễn phí” lúc nào cũng được áp dụng một cách đặc biệt có ý nghĩa. Một số thứ không nằm trên biên Pareto
Tôi muốn được giải thích chi tiết hơn về phần “phương pháp speculative decoding tốn thêm chi phí bộ nhớ khi suy luận”
Trong speculative decoding, một mô hình nhỏ hơn tạo ra các “nhánh” nhanh hơn nhưng có thể không chính xác, rồi sau đó mô hình lớn kiểm chứng các nhánh này. Nhưng speculative decoding chỉ cần lượng bộ nhớ tương ứng với một token đơn lẻ, còn token của các nhánh khác chỉ đơn giản bị masking trong quá trình suy luận. Nếu context size là 1000 và có khoảng 30 nhánh dài 5 token, overhead bộ nhớ là 3%, có thể xem là không đáng kể. Nếu context size nhỏ hơn rất nhiều so với số nhánh, tôi tự hỏi liệu người dùng LLM sinh nội dung với cửa sổ ngữ cảnh chỉ 50 token có thật sự quan tâm đến tốc độ sinh không
Ngoài ra, kỹ thuật speculative decoding không bị giới hạn ở greedy sampling. Nó phải hoạt động đúng y như mô hình gốc và sampling theo xác suất kỳ vọng. Phần lớn tài liệu về speculative decoding đã báo cáo tốc độ tăng 2,6~3,5 lần. Bài blog này báo cáo tốc độ sinh tăng 2,4~3,4 lần, nên tôi không chắc đây có phải là nâng cấp lớn đến vậy không
Ở trên đã nhắc đến speculative decoding, và kỹ thuật tác giả so sánh có vẻ là Medusa2 và Eagle, nhưng vấn đề cốt lõi vẫn như cũ. Dù dùng bất kỳ cách nào để dự đoán trước token, vẫn có những điểm cụ thể mà trước khi dự đoán token tiếp theo, bạn tuyệt đối cần token trước đó. Đây không phải là vấn đề phụ thuộc vào mô hình hay kỹ thuật, mà là vấn đề về mặt toán học: điều gì là khả thi. Nếu phân phối xác suất của token thứ năm tiếp theo phụ thuộc mạnh vào bốn token trước đó, làm sao có thể dự đoán 5 token cùng lúc? Dù là speculative decoding, Jacobi decoding hay multi-token parallel decoding thì cũng như nhau
Nếu phương pháp này chỉ hỗ trợ greedy sampling thì tôi nghi ngờ lợi thế của nó là gì. Nhất là khi xét đến việc các kỹ thuật khác đã đạt được mức tăng tốc như kỳ vọng. So sánh tăng tốc greedy sampling với tăng tốc random sampling chẳng khác nào so táo với cam, và tôi nghi ngờ liệu sau khi chỉnh phương pháp này cho phù hợp với random sampling, mức tăng tốc tương tự có còn giữ được hay không, do vấn đề cốt lõi đã nói ở trên
Thông qua consistency training, có thể họ đã cho thấy LLM vẫn có thể dự đoán n token tiếp theo ngay cả khi có phỏng đoán sai ở token trước đó
Mặt khác, về mặt toán học thì đúng là p(x_t|x_1,...,x_t-1) phụ thuộc vào toàn bộ từ x_1 đến x_t-1, nhưng trong thực tế, để dự đoán x_t có thể chỉ cần x_1 đến x_t-2, còn attention lên x_t-1 là không đáng kể. Vì vậy vẫn có thể dự đoán x_t bằng x_1 đến x_t-2 và một x_t-1 không chính xác
Nội dung thú vị. Đây có lẽ là ý tưởng nhiều người từng nghĩ tới, nhưng bài viết và phần trình bày được tổ chức rất tốt