Tác giả:
(1) Brandon T. Willard, Máy tính thông thường; (2) R'emi Louf, Máy tính thông thường.
Bảng liên kết
trừu tượng
Trong bài viết này, chúng tôi chỉ ra cách vấn đề tạo văn bản thần kinh có thể được cải tổ một cách xây dựng dưới dạng chuyển đổi giữa các trạng thái của máy trạng thái hữu hạn. Khung này dẫn đến một cách tiếp cận hiệu quả để hướng dẫn tạo văn bản bằng các biểu thức chính quy và ngữ pháp không ngữ cảnh bằng cách cho phép xây dựng chỉ mục trên từ vựng của mô hình ngôn ngữ. Cách tiếp cận này là bất khả tri về mô hình, cho phép người ta thực thi kiến thức và các ràng buộc theo miền cụ thể, đồng thời cho phép xây dựng các giao diện đáng tin cậy bằng cách đảm bảo cấu trúc của văn bản được tạo ra. Nó bổ sung thêm ít chi phí cho quy trình tạo chuỗi mã thông báo và vượt trội hơn đáng kể so với các giải pháp hiện có. Việc triển khai được cung cấp trong thư viện Python mã nguồn mở Outlines [Louf và Willard].
1. Giới thiệu
Chúng tôi lo ngại về vấn đề tạo chuỗi mã thông báo từ mô hình ngôn ngữ lớn (LLM) [Vaswani và cộng sự, 2017, Radford và cộng sự, 2019] phù hợp với biểu thức chính quy hoặc ngữ pháp phi ngữ cảnh (CFG). Kiểu tạo LLM có hướng dẫn này được sử dụng để làm cho đầu ra mô hình LLM có thể sử dụng được theo các yêu cầu định dạng cứng nhắc, khó hoặc tốn kém để nắm bắt chỉ thông qua tinh chỉnh [Beurer-Kellner và cộng sự, 2023, Scholak và cộng sự, 2021, Poesia và cộng sự cộng sự, 2022a, Rabinovich và cộng sự, 2017, Weng, 2021, Dong và cộng sự, 2023, Poesia và cộng sự, 2022b, Geng và cộng sự, 2023, Wang và cộng sự, 2023]. Những tính năng như vậy gần đây đã được khái quát hóa trong các thư viện và giao diện nhắc nhở [Microsoft, 2023, Beurer-Kellner và cộng sự, 2023, Rickard, 2023a,b], nhưng khả năng ứng dụng của chúng có thể bị hạn chế bởi chi phí mở rộng quy mô.
Hầu hết việc triển khai tạo có hướng dẫn đều thiên vị các giá trị điểm được sử dụng để xác định xác suất của mã thông báo trong từ vựng của LLM. Một cách tiếp cận phổ biến và đầy đủ bao gồm việc đánh giá lặp đi lặp lại trên toàn bộ từ vựng để xác định mã thông báo nào hợp lệ – theo các ràng buộc và mã thông báo được lấy mẫu trước đó – và đặt xác suất của mã thông báo không hợp lệ về 0. Cách tiếp cận này đòi hỏi chi phí O(N) cố định cho mỗi mã thông báo được tạo, trong đó N là kích thước từ vựng của LLM.
Chúng tôi đề xuất một cách tiếp cận sử dụng công thức biểu thức chính quy của máy trạng thái hữu hạn (FSM) để bắt đầu và dừng việc tạo có hướng dẫn một cách tùy ý, đồng thời cho phép xây dựng một chỉ mục mà có thể thu được tập hợp các mã thông báo có xác suất khác 0 một cách hiệu quả ở mỗi bước. Kết quả là một thuật toán có chi phí trung bình là O(1).
Đối với trường hợp biểu thức chính quy, cách tiếp cận của chúng tôi có điểm tương đồng nhất với Kuchnik et al. [2023], sử dụng công thức chuyển đổi để thu được các FSM được xác định theo từ vựng của mô hình ngôn ngữ và các FSM này chứa nhiều thông tin giống nhau và lợi ích mở rộng quy mô như các chỉ số được mô tả ở đây. Cách tiếp cận của chúng tôi không yêu cầu sự trừu tượng hóa bộ chuyển đổi hoàn chỉnh và có thể được sử dụng để mở rộng dễ dàng hơn các thư viện biểu thức chính quy hiệu quả, hiện có mà không cần sửa đổi các máy tự động cơ bản và cách triển khai chúng.
Quan trọng hơn, phương pháp lập chỉ mục của chúng tôi cũng có thể được mở rộng sang các trình phân tích cú pháp CFG và LALR(1) để cho phép tạo hướng dẫn hiệu quả theo các định dạng dữ liệu và ngôn ngữ lập trình phổ biến (ví dụ: JSON, Python, SQL, v.v.). Quá trình chuyển đổi sang phân tích cú pháp được thực hiện bằng cách tăng cường các thành phần và hoạt động của trình phân tích cú pháp LALR(1) truyền thống, biến nó thành một cách tiếp cận có thể được sử dụng để mở rộng việc triển khai trình phân tích cú pháp hiện có.
Bài viết này theo giấy phép CC 4.0.