Luận văn này tập trung vào việc sử dụng tiếp cận học máy tăng cường để cải thiện chất lượng của các mô hình có kích thước vừa phải, có thể triển khai được trên thiết bị phần cứng thông d
Các vấn đề thửthách ee 2
Một số vấn đề chính trong bài toán text-to-SQL mà các nghiên cứu đang đối mặt bao gồm việc xử lý ngữ cảnh dài Khác với các bài toán dịch máy khác, text-to-SQL yêu cầu cung cấp đầy đủ ngữ cảnh liên quan đến cơ sở dữ liệu để suy luận chính xác các thành phần của câu truy vấn SQL Mặc dù câu hỏi của người dùng thường ngắn gọn, nhưng cấu trúc cơ sở dữ liệu có thể rất phức tạp và có thể bao gồm hàng trăm đến hàng nghìn bảng.
Câu hỏi có thể có nhiều biến thể tùy thuộc vào ngữ điệu và lĩnh vực chuyên môn của người dùng Bảng 1.1 liệt kê một số cách diễn đạt khác nhau cho cùng một mục đích truy vấn, cụ thể là tìm ra tên của chiếc xe có mức tiêu thụ năng lượng thấp nhất, với bốn hình thức khác nhau Ngoài ra, truy vấn SQL phức tạp có thể bao gồm nhiều lệnh JOIN để trả về kết quả chính xác.
UNION, hoặc câu lệnh lồng nhau rất phức tạp Dưới đây là một ví dụ được lấy từ bộ dữ liệu Spider [3]:
Bảng 1.1: Các biên thể khác nhau của cùng một câu hỏi dau vào
Câu 1 | Find the car name with best fuel economy.
Câu 2 | What is the name of the car with lowest mpg?
Cau 3 | Name of the most fuel efficient vehicle.
Cau 4 | Show me the car with best gas mileage!
SELECT T2.pilot FROM operate_company AS T1 JOIN flight AS t2 ON T1.id = T2.company_id WHERE T1.principal_activities = 'Cargo'
INTERSECT SELECT T2.pilot FROM operate_company
Câu truy vấn SQL phụ thuộc mạnh vào cấu trúc cơ sở dữ liệu; cùng một câu hỏi nhưng với cấu trúc khác nhau, câu truy vấn cần được điều chỉnh Ví dụ, nếu trường model_name được tách ra thành bảng riêng với các thông số chi tiết, câu truy vấn sẽ trở nên phức tạp hơn và yêu cầu thêm phép JOIN để lấy thông tin cần thiết.
Các mô hình text-to-SQL hiện tại gặp khó khăn trong việc đạt độ chính xác cao và tổng quát hóa cho nhiều lĩnh vực khác nhau Những mô hình có độ chính xác tốt thường có kích thước rất lớn Do đó, nghiên cứu này tập trung vào việc cải thiện độ chính xác cho các mô hình có kích thước nhỏ, nhằm dễ dàng áp dụng cho các lĩnh vực mới và triển khai trên phần cứng phổ biến.
The problem consists of two main components: the input question, denoted as q, which is represented by the equation d=0:1, and specifically asks, "Which is the most expensive car model?" Additionally, the identifier is an integer labeled as id.
C_ơ model_id integer ay model_name varchar
——D? manufacturing_ date date price float id integer J id model_id integer name manufacturing_date date integer varchar body_type varchar price float transmission varchar max_output float
SQL FROM car ORDER BY
SELECT car_model.name FROM car_model
Câu truy vấn phụ thuộc vào cấu trúc cơ sở dữ liệu, trong đó các ký tự gq đại diện cho câu hỏi của người dùng Đầu vào tiếp theo là cấu trúc cơ sở dữ liệu s, bao gồm các phần tử như to, t1, ta, wM và các yếu tố khác.
(1.2) trong đó, t; là các bang thuộc cơ sở dữ liệu va cz, là các cột thuộc bang tương ứng.
Hệ thống text-to-SQL có nhiệm vụ chuyển đổi yêu cầu của người dùng thành câu lệnh SQL chính xác, dựa trên cấu trúc cơ sở dữ liệu đã được xác định.
1.4 Đóng góp chính của luận văn
Luận văn này tập trung vào việc nâng cao độ chính xác cho mô hình text-to-SQL có kích thước vừa phải, phù hợp với các hệ thống máy chủ phổ biến Những đóng góp chính bao gồm việc sử dụng các hàm mục tiêu kết hợp giữa học máy tăng cường và học máy giám sát, giúp mô hình học từ dữ liệu sinh ra trong quá trình huấn luyện, qua đó làm giàu dữ liệu đầu vào và cải thiện hiệu quả huấn luyện Nghiên cứu cũng thiết kế một hàm phần thưởng đặc biệt cho bài toán text-to-SQL, cho phép tính toán mức độ chính xác của mô hình.
Nghiên cứu đã chỉ ra rằng phương pháp đề xuất cho độ chính xác của truy vấn SQL cải thiện đáng kể so với mô hình tham chiếu chỉ sử dụng học máy giám sát và thuật toán PPO (Proximal Policy Optimization) Các thí nghiệm được thực hiện trên bộ dữ liệu Spider và biến thể của nó, cùng với việc so sánh với thuật toán policy gradient phổ biến và API của OpenAI ChatGPT Kết quả cho thấy phương pháp này đạt được kết quả tốt hơn về độ chính xác của truy vấn SQL, trong khi chỉ cần sử dụng phần cứng thông dụng.
Nội dung luận văn được chia thành các chương như sau: Chương 1 tổng quan giới thiệu bài toán cần giải quyết, các vấn đề gặp phải và hình dung về các phần còn lại của luận văn Chương 2 trình bày các nghiên cứu liên quan và kiến thức cơ sở về bài toán text-to-SQL, bao gồm thông tin về học máy giám sát và học máy tăng cường Chương 3 tập trung vào phương pháp đề xuất của luận văn, bao gồm thuật toán REINFORCE, RELAX, hàm phần thưởng và kiến trúc hệ thống text-to-SQL Chương 4 trình bày cài đặt thực nghiệm và kết quả của phương pháp đề xuất cùng với các mô hình tham chiếu Cuối cùng, phần kết luận tóm tắt những điểm chính của luận văn và đề xuất hướng nghiên cứu tương lai, đồng thời cắt bỏ một số thí nghiệm để làm rõ sự đóng góp của các thuật toán học máy tăng cường.
Chương 2: Các nghiên cứu liên quan và kiến thức cơ sở
Trong chương này, chúng tôi sẽ thảo luận về các nghiên cứu liên quan đến bài toán text-to-SQL, nhằm cung cấp cái nhìn tổng quan về tình hình nghiên cứu hiện tại Tiếp theo, phần còn lại sẽ trình bày kiến thức nền tảng cần thiết cho phương pháp đề xuất, bao gồm thông tin về mô hình huấn luyện săn được áp dụng, cũng như các phương pháp học máy giám sát và học máy tăng cường.
2.1 Các nghiên cứu liên quan
Text-to-SQL đã trở thành một lĩnh vực nghiên cứu quan trọng trong những năm gần đây nhờ vào sự phát triển của học sâu và các mô hình Transformer Wang và cộng sự đã giới thiệu RAT-SQL, một mô hình sử dụng nhiều lớp self-attention để mã hóa và liên kết cấu trúc cơ sở dữ liệu Đồng thời, Lin và cộng sự đã đề xuất kiến trúc BRIDGE, trong đó câu đầu vào và cấu trúc cơ sở dữ liệu được biểu diễn dưới dạng chuỗi và gán nhãn cho từng thành phần Chuỗi này sau đó được đưa vào bộ mã hóa BERT để tạo ra vector biểu diễn, từ đó sinh ra câu SQL thông qua mạng pointer-generator.
RYANSQL phân tích câu lệnh SQL thành các câu lệnh SELECT nhỏ không lồng nhau và sử dụng phương pháp điền vào chỗ trống để tạo ra chúng Scholak và cộng sự phát triển phương pháp PICARD, giúp kiểm soát việc sinh ra câu SQL bằng cách loại bỏ các ký tự không hợp lệ khỏi tập từ điển ở mỗi bước Phương pháp này có ưu điểm là không ảnh hưởng đến mô hình đã huấn luyện và có thể áp dụng trực tiếp cho bất kỳ mô hình Transformer nào Nhiều nghiên cứu đã áp dụng PICARD để nâng cao chất lượng đầu ra của họ.
Sự xuất hiện và phổ biến của các mô hình ngôn ngữ lớn (LLM) đã thúc đẩy nhiều hệ thống text-to-SQL áp dụng công nghệ này, mang lại kết quả ấn tượng Nghiên cứu của Liu và cộng sự cũng như Dong và cộng sự chỉ ra rằng độ chính xác của ChatGPT rất khả quan Thông qua việc sử dụng các kỹ thuật phức tạp để chuẩn bị lời nhắc (prompt), họ đã đạt được độ chính xác thực thi lên đến 70%.
Nghiên cứu của Agrahari và cộng sự cho thấy rằng việc huấn luyện lại mô hình Llama-V2 7B đã cải thiện độ chính xác từ 11.8% lên 89.4% Mặc dù các mô hình ngôn ngữ lớn (LLM) thường được đánh giá dựa trên độ chính xác thực thi, nhưng chúng vẫn chưa đạt được kết quả tốt trong việc xác định độ chính xác của câu SQL.
Tuy nhiên, những nghiên cứu về sử dụng mô hình ngôn ngữ lớn có thể đạt được những kết quả ấn tượng hơn nữa trong thời gian tới.
Đóng góp chính của luận van
Luận văn này tập trung vào việc nâng cao độ chính xác cho mô hình text-to-SQL kích thước vừa phải, có khả năng triển khai trên các hệ thống máy chủ phổ biến Đóng góp chính bao gồm việc áp dụng các hàm mục tiêu kết hợp giữa học máy tăng cường và học máy giám sát, giúp mô hình học từ dữ liệu sinh ra trong quá trình huấn luyện, từ đó làm phong phú thêm lượng dữ liệu đầu vào và cải thiện hiệu quả huấn luyện Ngoài ra, nghiên cứu cũng thiết kế một hàm phần thưởng đặc thù cho bài toán text-to-SQL, cho phép tính toán mức độ chính xác của mô hình một cách hiệu quả.
Nghiên cứu này đã chỉ ra rằng 4 tiêu chí phù hợp cho một câu truy vấn SQL không chỉ dựa vào kết quả đúng-sai mà còn tuân theo tiêu chuẩn SQL Các thí nghiệm được thực hiện trên bộ dữ liệu Spider và các biến thể của nó, đồng thời so sánh với một thuật toán policy gradient phổ biến và API của OpenAI ChatGPT Kết quả cho thấy phương pháp đề xuất cải thiện đáng kể độ chính xác so với mô hình tham chiếu chỉ sử dụng học máy giám sát và thuật toán PPO Đặc biệt, phương pháp này còn đạt độ chính xác tốt hơn so với API của ChatGPT, trong khi chỉ cần sử dụng phần cứng thông dụng.
Nội dung của luận văn được chia thành các chương như sau: Chương 1 cung cấp tổng quan về bài toán cần giải quyết, các vấn đề gặp phải và hình dung về cấu trúc của luận văn Chương 2 trình bày các nghiên cứu liên quan và kiến thức cơ sở, tập trung vào bài toán text-to-SQL cùng thông tin về học máy giám sát và học máy tăng cường Chương 3 đề cập đến phương pháp đề xuất của luận văn với các nội dung chi tiết về thuật toán REINFORCE, RELAX, hàm phần thưởng và kiến trúc hệ thống text-to-SQL Chương 4 trình bày cài đặt thực nghiệm và kết quả của phương pháp đề xuất cùng các mô hình tham chiếu Cuối cùng, phần kết luận tóm tắt các kết quả nghiên cứu và đề xuất hướng nghiên cứu trong tương lai, đồng thời cắt bỏ một số thí nghiệm để làm rõ vai trò của các thuật toán học máy tăng cường.
Chương 2: Các nghiên cứu liên quan và kiến thức cơ sở
Chương này sẽ thảo luận về các nghiên cứu liên quan đến bài toán text-to-SQL, nhằm cung cấp cái nhìn tổng quan về tình hình nghiên cứu hiện tại Ngoài ra, phần còn lại sẽ trình bày kiến thức nền tảng về phương pháp đề xuất, bao gồm thông tin về mô hình huấn luyện săn được sử dụng, cũng như các phương pháp học máy giám sát và học máy tăng cường.
2.1 Các nghiên cứu liên quan
Text-to-SQL đã được nghiên cứu từ lâu, nhưng gần đây mới thu hút sự chú ý nhờ sự phát triển của học sâu và các mô hình Transformer Wang và cộng sự đã giới thiệu RAT-SQL, một mô hình sử dụng nhiều lớp self-attention để mã hóa và liên kết cấu trúc cơ sở dữ liệu Trong khi đó, Lin và cộng sự đề xuất kiến trúc BRIDGE, trong đó câu đầu vào và cấu trúc cơ sở dữ liệu được biểu diễn dưới dạng chuỗi và gán nhãn cho từng thành phần Chuỗi này được đưa vào bộ mã hóa BERT để tạo ra vector biểu diễn, từ đó sinh ra câu SQL thông qua mạng pointer-generator.
RYANSQL phân tích câu lệnh SQL thành các câu lệnh SELECT nhỏ không lồng nhau và sử dụng phương pháp điền vào chỗ trống để tạo ra từng câu lệnh SELECT Scholak và cộng sự phát triển phương pháp PICARD, kiểm soát việc sinh ra câu SQL bằng cách loại bỏ các ký tự không hợp lệ khỏi tập từ điển ở mỗi bước Phương pháp này không ảnh hưởng đến mô hình đã được huấn luyện và có thể áp dụng trực tiếp như một mô-đun cho bất kỳ mô hình Transformer nào Nhiều nghiên cứu đã áp dụng PICARD để nâng cao chất lượng đầu ra của họ.
Sự xuất hiện và phổ biến của các mô hình ngôn ngữ lớn (LLM) đã thúc đẩy sự phát triển của nhiều hệ thống text-to-SQL, mang lại kết quả ấn tượng Nghiên cứu của Liu và cộng sự cùng với Dong và cộng sự đã chỉ ra rằng độ chính xác của ChatGPT rất hứa hẹn Thông qua việc sử dụng các kỹ thuật phức tạp để chuẩn bị lời nhắc (prompt), nghiên cứu của họ đã đạt được độ chính xác thực thi lên tới 70%.
Theo đánh giá từ Spider, Agrahari và cộng sự đã tiến hành huấn luyện lại mô hình Llama-V2 7B trên nhiều kịch bản, đạt được độ chính xác 82% Kết quả cho thấy độ chính xác tăng từ 11.8% lên 89.4% khi so sánh giữa mô hình chưa tinh chỉnh và đã tinh chỉnh Mặc dù các mô hình ngôn ngữ lớn (LLM) thường báo cáo kết quả dựa trên độ chính xác thực thi, nhưng vẫn chưa đạt được kết quả tốt trong việc đánh giá độ chính xác của câu SQL.
Tuy nhiên, những nghiên cứu về sử dụng mô hình ngôn ngữ lớn có thể đạt được những kết quả ấn tượng hơn nữa trong thời gian tới.
Mô hình ngôn ngữ MiniSeek, một phiên bản tùy chỉnh, đã đạt được độ chính xác EM 81.5% và EX 91.2% trên tập kiểm thử trong bảng xếp hạng dữ liệu Spider, đứng đầu trong các nghiên cứu hiện có Tuy nhiên, nghiên cứu này vẫn chưa được công bố chi tiết Các nghiên cứu tiếp theo có độ chính xác thực thi tốt nhất sử dụng sự kết hợp của GPT-4 và các công cụ như DAIL-SQL.
Các nghiên cứu gần đây đã chỉ ra rằng việc áp dụng các kỹ thuật mới giúp GPT-4 đạt được kết quả nhất quán hơn, với độ chính xác trên tập kiểm thử lần lượt là 86.6% và 86.2% Trong khi đó, các mô hình truyền thống vẫn cho kết quả cao hơn so với các hệ thống LLM hiện tại Li và cộng sự đã phát triển mô hình Graphix-3B, cải tiến từ mô hình Tð 3B bằng cách thêm các lớp mạng nơ-ron nhận diện đồ thị, đạt độ chính xác 77.1% khi kết hợp với PICARD Ngoài ra, Xiang và cộng sự đã đề xuất phương pháp sinh câu SQL dựa vào đồ thị, kết hợp với LGESQL và mô hình ELECTRA, đạt độ chính xác EM 78.1% trên tập kiểm chứng.
Học máy tăng cường là một cơ chế học máy mô phỏng quá trình học tập "thử sai" của con người, đã được ứng dụng rộng rãi trong nhiều lĩnh vực, bao gồm cả sinh ngôn ngữ tự nhiên như tóm tắt văn bản và dịch máy Nghiên cứu của Zhong và cộng sự cho thấy việc áp dụng học máy tăng cường vào mô hình trên bộ dữ liệu WikiSQL mang lại cải thiện đáng kể so với các phương pháp không sử dụng học máy tăng cường.
WikiSQL là một tập dữ liệu chứa các truy vấn đơn giản, và mức độ cải thiện phần trăm nhờ vào học máy tăng cường vẫn còn hạn chế.
Học máy giám sát là một kỹ thuật phổ biến trong lĩnh vực học máy, nơi dữ liệu đầu vào được gán nhãn với đầu ra tương ứng trong quá trình huấn luyện Mục tiêu chính là tìm ánh xạ ƒ giữa đầu vào X và đầu ra Y.
Với dữ liệu đầu vào Xpain, chúng ta có tập Yirain đã được gán nhãn sẵn, thường do con người thực hiện Tập dữ liệu này được sử dụng để huấn luyện mô hình nhằm tìm hàm ƒ xap xi "tốt nhất" cho các cặp dữ liệu trong Xtrain và Yirain tương ứng Định nghĩa về "tốt nhất" phụ thuộc vào tính chất của bài toán và thuật toán được áp dụng Chẳng hạn, khi sử dụng thuật toán hồi quy tuyến tính, mục tiêu là tối thiểu hóa tổng khoảng cách Euclid giữa các điểm dữ liệu y và giá trị xấp xỉ ƒ(z).
Học máy tăng cường là phương pháp học thông qua tương tác với môi trường bên ngoài mô hình, nơi mô hình được huấn luyện thông qua chuỗi hành động và phản hồi Mỗi hành động tương tác với môi trường sẽ giúp cập nhật mô hình để tối ưu hóa phản hồi theo mong muốn Ví dụ, trong mô hình dịch máy, hành động có thể là việc sinh ra các ký tự, môi trường bao gồm dữ liệu huấn luyện và các hàm đánh giá, và phản hồi sau mỗi câu dịch có thể là điểm số BLEU.
Các nghiên cứu liên quan c Ặ So 6
Text-to-SQL đã có mặt từ lâu nhưng chưa được chú ý nhiều Gần đây, nhờ vào sự phát triển của học sâu và các mô hình Transformer, nghiên cứu trong lĩnh vực này đã có những tiến bộ đáng kể Wang và cộng sự đã giới thiệu RAT-SQL, một mô hình sử dụng nhiều lớp self-attention để mã hóa và liên kết cấu trúc cơ sở dữ liệu Đồng thời, Lin và cộng sự đề xuất kiến trúc BRIDGE, trong đó câu đầu vào và cấu trúc cơ sở dữ liệu được biểu diễn dưới dạng chuỗi và gán nhãn cho từng thành phần Chuỗi này được đưa vào bộ mã hóa BERT để tạo ra vector biểu diễn, từ đó sinh ra câu SQL thông qua mạng pointer-generator.
RYANSQL phân tích câu lệnh SQL thành các câu lệnh SELECT nhỏ không lồng nhau và sử dụng phương pháp điền vào chỗ trống để sinh ra mỗi câu lệnh SELECT Scholak và cộng sự phát triển phương pháp PICARD, kiểm soát việc sinh ra câu SQL bằng cách loại bỏ các ký tự không hợp lệ khỏi tập từ điển ở mỗi bước Ưu điểm của PICARD là không ảnh hưởng đến mô hình đã huấn luyện và có thể áp dụng trực tiếp cho bất kỳ mô hình Transformer nào Nhiều nghiên cứu đã áp dụng PICARD để cải thiện chất lượng đầu ra.
Sự xuất hiện và phổ biến của các mô hình ngôn ngữ lớn (LLM) đã giúp nhiều hệ thống text-to-SQL đạt được kết quả ấn tượng Nghiên cứu của Liu và cộng sự cùng với Dong và cộng sự đã chỉ ra rằng độ chính xác mà ChatGPT mang lại rất hứa hẹn Bằng cách sử dụng các kỹ thuật phức tạp để chuẩn bị lời nhắc (prompt), nghiên cứu của họ đã đạt được độ chính xác thực thi lên đến 70%.
Theo đánh giá của Spider, 82% kết quả cho thấy mô hình Llama-V2 7B đã được huấn luyện lại bởi Agrahari và cộng sự Sự cải thiện đáng kể về độ chính xác từ 11.8% lên 89.4% đã được ghi nhận khi so sánh giữa phiên bản chưa tinh chỉnh và phiên bản đã tinh chỉnh Mặc dù các mô hình ngôn ngữ lớn (LLM) thường được đánh giá qua độ chính xác thực thi, nhưng độ chính xác của câu SQL vẫn chưa đạt được kết quả tốt.
Tuy nhiên, những nghiên cứu về sử dụng mô hình ngôn ngữ lớn có thể đạt được những kết quả ấn tượng hơn nữa trong thời gian tới.
Trong bảng xếp hạng của bộ dữ liệu Spider, mô hình ngôn ngữ lớn tùy chỉnh MiniSeek đã đạt độ chính xác EM 81.5% và EX 91.2% trên tập kiểm thử, đứng đầu trong các nghiên cứu hiện có Tuy nhiên, nghiên cứu này vẫn chưa được công bố chi tiết Các nghiên cứu tiếp theo đạt độ chính xác thực thi tốt nhất chủ yếu sử dụng sự kết hợp giữa GPT-4 và các công cụ như DAIL-SQL.
Các nghiên cứu gần đây đã chỉ ra rằng việc áp dụng các kỹ thuật mới giúp GPT-4 cải thiện độ nhất quán và khả năng tự chỉnh sửa câu SQL đầu ra, với độ chính xác đạt 86.6% và 86.2% trên tập kiểm thử Tuy nhiên, các mô hình truyền thống vẫn cho kết quả cao hơn so với hệ thống LLM hiện tại Li và cộng sự đã phát triển mô hình Graphix-3B, bổ sung các lớp mạng nơ-ron thông tin về đồ thị, đạt độ chính xác 77.1% khi kết hợp với PICARD Ngoài ra, Xiang và cộng sự đã đề xuất phương pháp sinh câu SQL dựa trên đồ thị, kết hợp với LGESQL và mô hình ELECTRA, đạt độ chính xác EM 78.1% trên tập kiểm chứng.
Học máy tăng cường là một phương pháp học máy mô phỏng quá trình học tập “thử sai” của con người, đã được áp dụng rộng rãi trong nhiều lĩnh vực, bao gồm cả sinh ngôn ngữ tự nhiên như tóm tắt văn bản và dịch máy Nghiên cứu của Zhong và cộng sự đã chỉ ra rằng việc áp dụng học máy tăng cường cho mô hình trên bộ dữ liệu WikiSQL mang lại kết quả cải thiện rõ rệt so với phương pháp không sử dụng học máy tăng cường.
WikiSQL là một tập dữ liệu chứa các truy vấn đơn giản, và mức cải thiện phần trăm do học máy tăng cường mang lại vẫn còn hạn chế.
Kiến thức cƠSỞ 2 ee 8
Mô hình ngôn ngữ lớn
Cuối năm 2022, ChatGPT phiên bản đầu tiên ra mắt và nhanh chóng thu hút sự chú ý của công chúng Đến nay, ChatGPT đã phát triển lên phiên bản thứ tư, với sự tích hợp trên trang web giúp người dùng dễ dàng tương tác Hai phiên bản gần nhất, GPT-3 và GPT-4, sở hữu khoảng 175 tỷ và 1800 tỷ tham số, đánh dấu bước tiến lớn trong công nghệ mô hình ngôn ngữ.
Meta Llama, bên cạnh Google Gemini, là một ứng dụng mới nổi với khả năng trò chuyện tự nhiên và hỗ trợ người dùng trong các tác vụ như dịch ngôn ngữ, tóm tắt văn bản, sáng tạo ý tưởng và tìm kiếm thông tin Dựa trên các mô hình ngôn ngữ tiên tiến như GPT, Meta Llama được huấn luyện với nhiều tham số và dữ liệu hơn, tạo ra một mô hình ngôn ngữ lớn hơn Các mô hình này còn trải qua các bước bổ sung để cải thiện khả năng giao tiếp, mang lại trải nghiệm tương tác tốt hơn cho người dùng.
1 Tinh chỉnh có giám sát Một bộ dữ liệu về lời nhắc (prompt) và phản hồi được tạo ra để huấn luyện mô hình có khả năng trò chuyện.
2 Huấn luyện mô hình phần thưởng (reward model) Từ mô hình đã tinh chỉnh ở bước 1, với mỗi đầu vào, mô hình sẽ được yêu cầu cho ra một số phản hồi Sau đó các phản hồi này sẽ được đội ngũ gán nhãn sắp xếp theo mức độ phù hợp Từ đó tạo ra một bộ dữ liệu để huấn luyện mô hình phần thưởng, mô hình này sẽ đánh giá câu phản hồi của mô hình có mức độ tốt như thế nào.
3 Mô hình học tăng cường Cuối cùng sử dụng mô hình phần thưởng và các thuật toán học máy tăng cường để huấn luyện mô hình sao cho các câu phản hồi đều đạt được điểm số cao do mô hình phần thưởng đánh giá.
Sau khi trải qua nhiều bước huấn luyện, các mô hình được phát triển thành ứng dụng và cung cấp API cho người dùng phổ thông Một trong những tác vụ mà các mô hình này có khả năng thực hiện là chuyển đổi văn bản thành câu lệnh SQL (Text-to-SQL).
Chương 3: Text-to-SQL với tiếp cận học máy tăng cường
Chương này cung cấp cái nhìn tổng quan và chi tiết về các thành phần trong kiến trúc được đề xuất của luận văn Đầu tiên, bài viết giới thiệu một số ký hiệu chính trong bài toán text-to-SQL, bao gồm ô đầu vào # = #o, #1, #a, với z là các ký tự đầu vào Đầu ra y được định nghĩa là y = 11, 12, , Yn, và ô po(y|x) thể hiện xác suất mô hình sinh ra đầu ra y dựa trên đầu vào x và tham số mô hình 6 Giá trị phần thưởng R(y) cho đầu ra tương ứng với đầu vào x cũng được đề cập Mặc dù đầu ra chính xác cho đầu vào z không được sử dụng trực tiếp trong quá trình huấn luyện (trong học máy tăng cường), nó vẫn có thể được áp dụng để tính toán giá trị phần thưởng Tuy nhiên, để làm cho các công thức ngắn gọn hơn, y’” sẽ được bỏ qua trong một số phương trình.
Mục tiêu khi huấn luyện theo phương pháp học máy tăng cường là tối ưu giá trị kì vọng RL của của phần thưởng:
Kiến trúc đề xuất 2 TQ va 18
Chuyển đổi ngôn ngữ tự nhiên sang truy vấn SQL là một bài toán chuyển đổi văn bản sang văn bản, trong đó các mô hình Transformer với bộ giải mã có khả năng thực hiện tốt Tuy nhiên, do ngôn ngữ đầu vào và đầu ra khác nhau, việc sử dụng cả bộ mã hoá và bộ giải mã của Transformer là lựa chọn tối ưu để huấn luyện một mô hình có kích thước hợp lý.
Luận văn này đề xuất kiến trúc text-to-SQL dựa trên mô hình T5 Trong quá trình huấn luyện, các câu lệnh SQL được lấy mẫu từ đầu ra của T5 nhằm điều chỉnh mô hình, với mục tiêu tạo ra nhiều mẫu có độ đo tốt hơn.
ENGGBER.4Đ › A ' Feed Forward Feed Forward h '
H teow reeeRe ees seceeuee ss
' Feed Forward Feed Forward " Encoder-Decoder Attention h ' ơ
Hình 3.1: Kiến trúc đề xuất
Mô hình đề xuất trong luận văn sử dụng kiến trúc kết hợp giữa mô hình T5 và thành phần học máy tăng cường, nhằm tạo ra các mẫu với điểm phần thưởng cao hơn Đầu vào của mô hình được biểu diễn bằng cách kết hợp câu hỏi và cấu trúc cơ sở dữ liệu Thay vì áp dụng trực tiếp kết quả từ mô hình T5 để tối thiểu hóa hàm mất mát như trong huấn luyện truyền thống, nghiên cứu thực hiện thêm các bước bổ sung để cải thiện hiệu quả của quá trình học.
1 Lay mẫu Đầu ra trước lớp softmaz (sau lớp tuyến tính trên cùng) của mô hình T5 được đưa qua một bộ lay mau sử dụng kỹ thuật Gumbel Softmax
Mục đích của việc lấy mẫu theo phương pháp này là để thu thập dữ liệu có thể được đạo hàm, từ đó thực hiện lan truyền ngược nhằm huấn luyện mô hình dựa trên các câu lệnh SQL đã được lấy mẫu.
Sau khi thu thập mẫu câu truy vấn z, tiến hành tính toán giá trị phần thưởng dựa trên hàm phần thưởng được thiết kế đặc biệt cho bài toán chuyển đổi văn bản thành SQL.
Sau khi thực hiện ham mat mát, giá trị mất mát cho thành phần học máy tăng cường được xác định thông qua một trong hai thuật toán: REINFORCE hoặc RELAX.
Để ngăn chặn thuật toán học máy tăng cường khám phá quá mức, gây lãng phí thời gian và ảnh hưởng đến mô hình, hàm mất mát NLL truyền thống vẫn được sử dụng làm điểm neo Hai giá trị mất mát từ học máy tăng cường và học máy giám sát được kết hợp thông qua một hệ số A.
Trong quá trình huấn luyện, thành phần học máy tăng cường được áp dụng để cải thiện hiệu suất Tuy nhiên, sau khi hoàn tất huấn luyện, thành phần này sẽ được loại bỏ, và mô hình sẽ hoạt động như một mô hình T5 thông thường.
Bài toán text-to-SQL bao gồm hai thành phần chính: câu hỏi bằng ngôn ngữ tự nhiên và cấu trúc cơ sở dữ liệu, bao gồm mô hình cơ sở dữ liệu, danh sách các bảng, danh sách các cột trong từng bảng, cùng với giá trị của một số hàng có liên quan đến câu hỏi của người dùng.
Tương tự nghiên cứu của Lin và cộng sự [5], luận văn mã hoá đầu vào mô hình dưới dạng như sau:
Các ký hiệu được sử dụng ở trên: ô QUESTION: cõu hỏi đầu vào
Mã cơ sở dữ liệu e Ti bao gồm các bảng và cột, trong đó DB_ID là mã của cơ sở dữ liệu, Ti là bảng thứ i, Ti_COL là cột thứ j của bảng i, và Ti_Cj_ROWk là giá trị thứ k trong cột j Để tìm kiếm thông tin, các giá trị trong từng cột liên quan đến câu hỏi được lấy ra thông qua tìm kiếm mờ Những giá trị này sẽ được thêm vào cột tương ứng và các cột trong cùng bảng sẽ được biểu diễn cùng nhau, trong khi các bảng được ngăn cách bằng ký tự | Cuối cùng, câu hỏi đầu vào sẽ được nối với mã cơ sở dữ liệu và cấu trúc cơ sở dữ liệu, sau đó được đưa qua bộ tách từ của Tð để tạo ra vector biểu diễn x tương ứng.
Kỹ thuật Gumbel-Softmax được áp dụng trong mô hình T5 để giải quyết vấn đề đạo hàm không liên tục khi lấy mẫu từ phân phối Categorical Việc này cho phép mô hình thực hiện lan truyền ngược, giúp quá trình huấn luyện diễn ra hiệu quả Gumbel-Softmax không chỉ hỗ trợ việc lấy mẫu từ phân phối Categorical mà còn đảm bảo tính khả thi trong việc tính toán gradient, từ đó cải thiện khả năng học của mô hình.
Giả sử đầu ra của mô hình T5 trước lớp softmax là xác suất của các từ trong bộ từ vựng với thang đo logarit t = log 7 Kỹ thuật Gumbel-Max được sử dụng để lấy mẫu một chuỗi đầu ra dựa trên công thức này.
Hàm mật độ xác suất (PDF) và hàm phân phối tích luy (CDF) của phân bố
Người ta đã chứng minh được rằng sử dụng kỹ thuật Gumbel-Max tương đương với tính toán soƒtmaz trên zp: ak
Khi lấy mẫu cho thuật toán REINFORCE, luận văn sử dụng hàm softmax để thay
Pr(M =k) (3.6) thé cho argmax Công thức cuối cùng của bước lấy mẫu được viết lại tổng quát như sau: log TAT:
Yi = K log =7 +97 j=l e 7 trong đó r là tham số điều khiển: giá trị z càng bé thi phân phối lấy mẫu càng gần
(3.7) với phân phối Categorical và z càng lớn thì gần với phân phối đồng nhất Thông thường, 7 được chọn giá trị là 1.
Một điểm cần lưu ý trong thực tế là phân phối Gumbel(0, 1) có thể tính toán ngược từ phân phối đồng nhất: g = —log(—log(u)), u ~ Uniform(0, 1) (3.8)
Kỹ thuật Gumbel-Softmax cho phép rút ra nhanh chóng từ đầu ra của mô hình và hỗ trợ tính toán lan truyền ngược trong quá trình huấn luyện Đây là bước quan trọng đầu tiên giúp các thành phần học máy tăng cường phát huy hiệu quả tối đa.
Trong bài toán text-to-SQL, hai chỉ số quan trọng thường được sử dụng để đánh giá hiệu suất là độ chính xác thực thi (execution accuracy - EX) và độ chính xác so khớp (exact-set-match accuracy - EM).
Trong mục 4.3, chi tiết về hai độ đo được trình bày, cho phép đánh giá độ chính xác của câu lệnh SQL đầu ra với kết quả là 0 hoặc 1, tương ứng với sai hoặc đúng Luận văn đề xuất một hàm phần thưởng để đánh giá các câu SQL do mô hình sinh ra, cho phép điểm số nằm trong khoảng |0,1] Hàm này xác định số thành phần đúng so với câu truy vấn chuẩn và đưa ra tỉ lệ đúng làm điểm số phần thưởng Các thành phần được đánh giá bao gồm các mệnh đề và toán tử như SELECT, WHERE, GROUP, ORDER, và IUEN, trong đó IUEN là sự tổng hợp của các toán tử INTERSECT, UNION và EX-.
CEPT Thuật toán 3 thể hiện cách tính toán giá trị phần thưởng cho câu lệnh SQL bat kỳ.
Thuật toán 3 Ham phần thưởng
Input: câu SQL lấy mẫu y* và câu SQL chuẩn ”
Output: Giá trị phần thưởng của z°
2: for type in SELECT, WHERE, GROUP, ORDER, IUEN do
3: if type in ứ and type in ” then
4 if components of type in ° = components of type in 7” then
7: else if type not in y* and type not in ” then
Xem xét vi dụ dưới day:
SELECT COUNT(*) FROM pet WHERE pet_type = 'dog'
ORDER BY COUNT(id) DESC;
SELECT COUNT(*) FROM pet WHERE pet_type = 'cat'
ORDER BY COUNT(id) DESC;
Hàm phần thưởng Ặ CS So 22
Trong bài toán text-to-SQL, hai chỉ số quan trọng thường được sử dụng để đánh giá hiệu suất là độ chính xác thực thi (execution accuracy - EX) và độ chính xác so khớp (exact-set-match accuracy - EM).
Trong mục 4.3, chi tiết về hai độ đo được trình bày, cho thấy rằng với một câu đầu ra đơn lẻ, các độ đo này sẽ cho kết quả là 0 hoặc 1, tương ứng với sai hoặc đúng hoàn toàn Luận văn đề xuất một hàm phần thưởng để đánh giá câu SQL, với điểm số nằm trong khoảng |0,1] Hàm này xác định số thành phần đúng so với câu truy vấn chuẩn và đưa ra tỉ lệ đúng làm điểm số phần thưởng Các thành phần được đánh giá bao gồm các mệnh đề và toán tử như SELECT, WHERE, GROUP, ORDER, và IUEN, trong đó IUEN là sự kết hợp của các toán tử INTERSECT, UNION và EX-.
CEPT Thuật toán 3 thể hiện cách tính toán giá trị phần thưởng cho câu lệnh SQL bat kỳ.
Thuật toán 3 Ham phần thưởng
Input: câu SQL lấy mẫu y* và câu SQL chuẩn ”
Output: Giá trị phần thưởng của z°
2: for type in SELECT, WHERE, GROUP, ORDER, IUEN do
3: if type in ứ and type in ” then
4 if components of type in ° = components of type in 7” then
7: else if type not in y* and type not in ” then
Xem xét vi dụ dưới day:
SELECT COUNT(*) FROM pet WHERE pet_type = 'dog'
ORDER BY COUNT(id) DESC;
SELECT COUNT(*) FROM pet WHERE pet_type = 'cat'
ORDER BY COUNT(id) DESC;
Trong ví dụ này, các thành phần SELECT và ORDER của câu SQL mẫu là chính xác, trong khi thành phần WHERE không đúng Bên cạnh đó, cả hai câu đều thiếu hai thành phần là GROUP và JOIN, và những thành phần không xuất hiện trong câu SQL chuẩn sẽ được ngầm định là tồn tại ở cả câu mẫu và câu SQL chuẩn Dựa trên cách tính toán này, điểm số cho câu mẫu trên sẽ là 4/5.
Các mẫu câu SQL được sử dụng sẽ làm phong phú thêm dữ liệu huấn luyện, từ đó cải thiện chất lượng và sự ổn định của mô hình Tuy nhiên, những câu lệnh SQL có điểm số 1 thực chất là các câu lệnh chuẩn, không mang lại nhiều giá trị trong bối cảnh học máy tăng cường, vì mô hình đã được đào tạo trước đó.
Trong thành phần học máy tăng cường, các mẫu SQL có giá trị cao thường là những mẫu có điểm số lớn nhưng vẫn nhỏ hơn 1.
Thuật toán REINFORCE co 24
Giá trị kì vọng của phần thưởng cần được tối ưu trong học thành phần học máy tăng cường:
Giá trị tối ưu là tổng có trọng số theo hàm phân phối xác suất pạ, với mục tiêu tối đa hóa giá trị này Điều này đảm bảo mô hình gán xác suất rất thấp cho các mẫu có giá trị R(y) thấp và gán xác suất cao cho các mẫu có giá trị R(y) cao Khi tối ưu theo hàm mục tiêu NLL truyền thống, xác suất cho giá trị đầu vào sẽ được gán bằng 1, trong khi các giá trị khác gán bằng 0, chỉ áp dụng trong trường hợp giá trị R(y) là 0 hoặc 1 Tuy nhiên, với hàm phần thưởng đã thiết lập, cần tối ưu hóa cho trường hợp tổng quát hơn.
Phương pháp đơn giản nhất để tối thiểu hóa hàm mất mát là tính toán gradient theo tham số và cập nhật giá trị của tham số theo hướng ngược với gradient Mặc dù hàm mất mát NLL dễ dàng tính toán gradient, nhưng hàm phần thưởng R(y) thường là hàm rời rạc, dẫn đến việc RL thường không khả vi theo tham số Tuy nhiên, định lý policy gradient cho phép chúng ta tính toán giá trị này.
= [Rk z)ơ2] x 3.14 | Peoret obey gg lost ule a (3.14) 8
= Eyyiye)(R(y) So log po(ule) (3.15)
Trong thực tế, việc tính toán giá trị một cách chính xác là điều không thể thực hiện trực tiếp Thuật toán REINFORCE cung cấp một phương pháp ước lượng gradient thông qua việc lấy mẫu với tham số phù hợp.
Epo (ule) RY) 5p log po( ula) 4
For each stadium, how many concerts are there?
SELECT T2.name, COUNT(*) FROM concert AS T1
JOIN stadium AS T2 ON T1.stadium id = T2.stadium_id GROUP BY T1.stadium id
Which countries in Europe have at least 3 car manufacturers?
SELECT T1.country name FROM countries AS T1 JOIN continents AS T2 ON T1.continent = T2.cont_id JOIN car_makers AS T3 ON T1.country_id = T3.country WHERE T2.continent = 'Europe' GROUP BY
What is the average life expectancy in the countries where English is not the official language?
SELECT AVG(life_expectancy) FROM country
(SELECT Ti.name FROM country AS T1 JOIN country_language AS T2
ON Ti.code = T2.country_code WHERE T2.language = "English"
Cài đặt thực nghiệm Q Q Q QQ 0.2004 j1
Các phiên bản T5 large, 3B và 11B yêu cầu phần cứng GPU với bộ nhớ lớn để huấn luyện và triển khai, như được nêu trong Bảng 2.1 Luận văn này tập trung vào việc sử dụng và báo cáo kết quả trên hai phiên bản nhỏ hơn là T5 small và T5 base Ngoài việc áp dụng các thuật toán REINFORCE và RELAX kết hợp với học máy có giám sát, luận văn cũng tiến hành thí nghiệm với thuật toán PPO (Proximal Policy Optimization) và các API của OpenAI.
Với mỗi mô hình ở trên, quy trình huấn luyện được thực hiện tuần tự theo các bước như sau:
1 Tinh chỉnh mô hình với tập huấn luyện Spider, sử dụng hàm mat mát NLL
2 Lưu lại trong số mô hình (checkpoint) tại hai thời điểm mà độ chính xác (EM) ổn định
3 Tinh chỉnh mô hình một lần nữa với hàm mục tiêu huấn luyện phối hợp giữa học giám sát và học tăng cường.
Mạng nơ-ron phục vụ cho thuật toán RELAX có cấu trúc đơn giản như Hình 4.1.
Nó là một mô hình đơn giản với 256 phần tử ở lớp ẩn, hai hàm kích hoạt được sử dung là ReLU và Sigmoid.
Hình 4.1: Mô hình với tham số ¢ trong thuật toán RELAX j1
Bảng 4.2: Cấu hình siêu tham số l NLL REINFORCE RELAX
Tham sô small | base | small | base small | base epoch 3072 | 2175 | 200 180 240 200 batch_ size 20 8 16 2 4 1 gradient_ accumulation_ steps | 256 256 32 32 8 8 À - - 0.05 - 0.5 0.1-0.5
Trong các thí nghiệm, các siêu tham số chính cho việc huấn luyện được thiết lập như Bảng 4.2.
Một số thiết lập cố định khác: ô Thuật toỏn tối ưu: Adafactor ô Tốc độ học: 0.0001 ô Số bit lưu trữ mỗi trọng số: 32
Cuối cùng, các thí nghiệm được tiến hành sử dung máy chủ DGX-1 với 01 GPU
Các độ đo cho bài toán text-to-SQL
Bài toán text-to-SQL yêu cầu các độ đo đánh giá kết quả phù hợp với ngôn ngữ đầu ra đặc thù Hai độ đo phổ biến là độ chính xác so khớp và độ chính xác thực thi Ngoài ra, bài viết cũng giới thiệu một độ đo mới về độ hiệu quả của câu lệnh SQL, cụ thể là độ chính xác so khớp Exact-Set-Match (EM).
Độ đo này dựa trên việc so sánh câu truy vấn SQL được sinh ra với câu lệnh SQL chính xác Phương pháp so khớp thường áp dụng là kiểm tra các thành phần, như các mệnh đề trong điều kiện WHERE hoặc các thành phần trong lệnh SELECT Các mệnh đề phục vụ cho việc so sánh đã được trình bày chi tiết trong mục 3.4 Trong ngôn ngữ SQL, thứ tự của các thành phần trong một loại mệnh đề không quan trọng.
32 do vậy các thành phần này được so sánh theo dạng tập hợp Ví dụ hai câu lệnh SQL dưới đây hoàn toàn giống nhau khi so khớp:
SELECT COUNT(*) FROM pet WHERE pet_type = 'dog' AND color = 'black';
Câu lệnh SQL "SELECT COUNT(*) FROM pet WHERE color = 'black' AND pet_type = 'dog';" cho thấy độ chính xác cao trong việc so khớp dữ liệu, không phụ thuộc vào loại cơ sở dữ liệu và dễ dàng triển khai Mặc dù có thể có nhiều biến thể của câu lệnh SQL với cùng mục đích truy vấn, việc xác định sự tương đồng giữa các câu lệnh này về mặt truy vần có thể gặp khó khăn Độ chính xác thực thi (Execution Accuracy - EM) là yếu tố quan trọng cần xem xét trong quá trình này.
Thay vì so sánh trực tiếp hai câu lệnh SQL, độ đo này tập trung vào việc so sánh kết quả thu được sau khi thực hiện truy vấn trên cơ sở dữ liệu Quy trình kiểm tra được thực hiện qua các bước cụ thể.
1 Phân tích cú pháp của câu SQL dau ra nhằm xác định xem nó có hợp lệ hay không.
Thực hiện các câu lệnh SQL hợp lệ trên cơ sở dữ liệu và trích xuất kết quả Đồng thời, các câu lệnh SQL chuẩn cũng được thực thi để so sánh và đối chiếu.
3 So sánh kết quả thực thi của câu lệnh SQL đầu ra và câu SQL chuẩn.
Khi hai câu SQL khác nhau cho ra cùng một kết quả, có hai trường hợp có thể xảy ra Thứ nhất, cả hai câu đều nhằm mục đích truy vấn giống nhau, cho phép độ chính xác thực thi phát hiện câu SQL chính xác, mặc dù nó có thể khác với câu chuẩn Thứ hai, hai câu truy vấn không liên quan đến nhau, nghĩa là câu SQL đầu ra có thể sai nhưng vẫn cho kết quả giống với lệnh SQL chuẩn Trong trường hợp này, độ chính xác thực thi có thể bộc lộ nhược điểm, và tần suất xảy ra tình huống này phụ thuộc vào đặc điểm dữ liệu trong cơ sở dữ liệu; ví dụ, nếu một cột trong bảng có nhiều giá trị giống nhau, người dùng dễ gặp nhầm lẫn khi truy vấn đến cột đó.
Độ chính xác trong việc thực thi yêu cầu truy cập dữ liệu cần có hệ quản trị cơ sở dữ liệu để thực hiện Hệ thống text-to-SQL thường mất nhiều thời gian hơn để đạt được độ chính xác so với độ chính xác khớp Độ hiệu quả Valid Efficiency Score (VES) kết hợp giữa độ chính xác thực thi và hiệu quả của câu truy vấn, với thời gian thực thi là yếu tố chính trong đánh giá Phương pháp này đặc biệt quan trọng khi cơ sở dữ liệu chứa lượng dữ liệu lớn, vì thời gian thực thi ảnh hưởng trực tiếp đến trải nghiệm người dùng Tuy nhiên, trong bộ dữ liệu Spider và trong luận văn này, độ hiệu quả không được sử dụng.
Phần này sẽ trình bày kết quả thí nghiệm dựa trên các thiết lập đã mô tả, bao gồm kết quả từ việc lựa chọn trọng số mô hình cho đến sự kết hợp giữa học máy tăng cường và học máy giám sát Cuối cùng, chúng tôi sẽ trình bày một số kết quả đạt được khi áp dụng thuật toán.
PPO và API của OpenAI ChatGPT.
4.4.1 Lựa chon trong số ban dau
Khi tinh chỉnh lần đầu với hàm mất mát NLL, luận văn lưu lại trọng số mô hình tại hai thời điểm dựa trên độ chính xác EM: khi giá trị EM ổn định và khi nó đạt đỉnh Trọng số được lưu lại để thực hiện tinh chỉnh lần hai bằng cách phối hợp giữa hai phương pháp học máy Các thí nghiệm sơ bộ cho thấy trọng số tại thời điểm độ chính xác EM vừa ổn định mang lại kết quả tốt hơn so với khi đạt đỉnh, do mô hình chưa hoàn toàn ổn định với tập dữ liệu huấn luyện, giúp thuật toán học máy tăng cường có thể huấn luyện tốt hơn Ngược lại, trọng số tại thời điểm độ chính xác EM đạt đỉnh khiến mô hình hoạt động tốt trên dữ liệu huấn luyện, dẫn đến việc lấy mẫu chủ yếu tạo ra các câu SQL giống hệt với câu truy vấn chuẩn, không hỗ trợ cho quá trình học.
Lựa chọn trọng số ban đầu
Kết hợp học máy tăng cường và học máy giám sát
Mô hình T5 small Bang 4.3 đã cho thấy hiệu quả của các phương pháp khác nhau khi áp dụng trên bộ dữ liệu Spider Mô hình này được tinh chỉnh lần đầu với hàm mục tiêu NLL, được sử dụng làm chuẩn mực tham chiếu Đối với mô hình T5 small, việc sử dụng NLL đã mang lại độ chính xác EM đáng kể.
EX lần lượt là 45.8% và 46.2% Thuật toán REINFORCE nâng cao điểm số EM so với NLL 6.6 điểm phan trăm, nâng cao độ chính xác EX 4.6 điểm phan trăm.
RELAX đã nâng cao giá trị EX tương đương với REINFORCE, trong khi giá trị EM chỉ tăng hơn 5% Mặc dù độ chính xác của mô hình T5 small chưa đạt được mức của T5 base sử dụng NLL, nhưng các thuật toán học máy tăng cường đã giúp thu hẹp khoảng cách giữa chúng, giảm khoảng cách điểm EM từ 11.6% xuống còn 5%.
Các giá trị khác nhau của tham số \ ảnh hưởng rõ rệt đến kết quả, nhưng nhìn chung đều nâng cao hiệu suất của mô hình Khi giá trị \ tăng, khả năng khám phá từ các thành phần học máy tăng cường cũng tăng theo, giúp mô hình học hỏi nhiều hơn từ dữ liệu.
Mô hình khám phá với 35 câu lệnh SQL mẫu có thể dẫn đến việc không được neo vào phiên bản NLL, gây ra tình trạng mô hình bị lỗi khi A quá lớn Kết quả là độ chính xác giảm mạnh, gần như về 0%.
Thuật toán REINFORCE đã được áp dụng với các giá trị khác nhau trên mô hình T5 small, cho thấy rằng NLL được huấn luyện qua nhiều lượt, nhưng tỉ lệ đã được điều chỉnh để dễ dàng so sánh kết quả.
Hình 4.2 cho thấy kết quả của mô hình T5 small khi áp dụng hàm mất mát NLL và kết hợp học máy tăng cường với các giá trị A khác nhau Kết quả cho thấy rằng giá trị cực đại khi sử dụng hàm mất mát cao hơn giá trị cực đại của NLL, và độ chính xác của các thuật toán REINFORCE luôn cao hơn NLL trong suốt quá trình huấn luyện Tương tự, hình 4.3 cũng chỉ ra rằng thuật toán RELAX đạt kết quả tốt hơn NLL trong hầu hết các giai đoạn tinh chỉnh Các kết quả này chứng minh rằng các thuật toán REINFORCE, RELAX và các kỹ thuật liên quan đã nâng cao đáng kể và ổn định độ chính xác cho mô hình tham chiếu.
Kết quả từ mô hình T5 base được trình bày trong Bảng 4.3 cho thấy khi sử dụng hàm mục tiêu NLL, độ chính xác EM đạt 57.4% và độ chính xác EX cũng đạt được kết quả đáng chú ý.
60.2% Thuật toán REINFORCE đã cải thiện 1.2 điểm phần trăm EM và 1.4 điểm j6
Thuật toán RELAX với các giá trị khác nhau trên T5 small cho thấy hiệu quả vượt trội so với phương pháp NLL, với sự cải thiện 2.0 và 1.9 điểm phần trăm EM và EX Hình 4.4 minh họa độ chính xác trong quá trình tinh chỉnh khi áp dụng RELAX và so sánh với NLL, cho thấy kết quả khả quan từ việc sử dụng thuật toán RELAX.
Mặc dù T5 base không nổi bật như T5 small, nhưng với các tham số À = 0.1 và A = 0.3, thuật toán kết hợp vẫn duy trì độ chính xác cao trong hầu hết thời gian huấn luyện Sự chênh lệch phần trăm điểm số giữa mô hình T5 base và T5 small là điều dễ hiểu, do T5 base có nhiều thông tin hơn, và độ chính xác khi chỉ sử dụng NLL của nó đã vượt trội hơn hẳn so với T5 small Điều này có thể giải thích cho kết quả trên.
T5 base, tham số À tốt hơn có giá trị nhỏ hơn, 0.5 và 0.3 so với 0.05 và 0.1 lần lượt trên T5 small và T5 base cho từng thuật toán REINFORCE và RELAX.
Hàm phần thưởng không chỉ ảnh hưởng đến độ chính xác EM và EX mà còn góp phần cải thiện đáng kể cả hai giá trị này Ở những điểm mà EM đạt đỉnh, giá trị cũng tăng lên rõ rệt.
EX cũng đạt đỉnh hoặc gần đỉnh Tuy vậy, giá trị EM được cải thiện nhiều hơn
Cách thiết kế hàm phần thưởng có thể giải thích điều này, với hàm phần thưởng được tính toán dựa trên câu lệnh SQL và gần gũi hơn với độ chính xác EM.
Thuật toán RELAX được áp dụng trên mô hình T5 base với các giá trị khác nhau, cho thấy sự cải thiện đáng kể về độ chính xác EM so với NLL, đặc biệt ở các mức độ phức tạp cao trong bộ dữ liệu Spider Bảng 4.4 chỉ ra rằng RELAX đạt hiệu suất tương đương NLL ở mức độ dễ, nhưng khi tăng lên các mức độ khó và rất khó, RELAX nâng cao độ chính xác EM lần lượt 3.3, 1.2 và 1.8 điểm phần trăm Ngược lại, bảng 4.5 cho thấy độ chính xác EM của NLL và RELAX ở các mức độ phức tạp khác nhau, với RELAX thể hiện ưu thế rõ rệt ở các mức độ khó hơn, đạt 49.1% và 37.1% so với 41.1% và 34.5% của NLL.
Kết quả nghiên cứu chỉ ra rằng việc áp dụng học máy tăng cường giúp mô hình cải thiện khả năng tạo ra các truy vấn phức tạp một cách đáng kể so với việc chỉ sử dụng phương pháp học truyền thống.
Dưới đây là một vài ví dụ của câu SQL đầu ra khi có và không sử dụng học máy tăng cường:
What are the major record formats of orchestras, sorted by their frequency?
The database structure includes several key entities: conductors, with attributes such as conductor_id, name, age, nationality, and year of work; orchestras, characterized by orchestra_id, name, conductor_id, record company, year founded, and major record format; performances, defined by performance_id, orchestra_id, type, date, official ratings, weekly rank, and share; and shows, which are identified by show_id, performance_id, whether it's the first show, result, and attendance figures.
SELECT major_record_format FROM orchestra
GROUP BY major_record_format ORDER BY COUNT(*) ASC
Cau SQL do NLL sinh ra:
SELECT major_record_format FROM orchestra ORDER BY frequency Câu SQL do RELAX sinh ra:
SELECT major_record_format FROM orchestra
GROUP BY major_record_format ORDER BY COUNT(*) ASC
What is the best rank of losers across all matches?
The database structure consists of two main tables: "players" and "matches." The "players" table includes fields such as player_id, first name, last name, hand, birth date, and country code The "matches" table captures various match details, including best_of, draw size, loser information (age, entry, hand, height, ID, IOC, name, rank, and rank points), match number, duration in minutes, round, score, surface type, tournament date, tournament ID, level, name, and winner information (age, entry, hand, height, ID, IOC, and name).
Bang 4.4: Độ chính xác EM trên T5 base theo mức độ phức tạp Độ phức tap NLL RELAX
Bang 4.5: Độ chính xác EM trên T5 base theo mức độ phức tap của câu SQL được sinh ra Độ phức tạp NLL RELAX của câu SQL sinh ra
Rất khó 345 37.1 winner_rank, winner_rank_points, winner_seed, year rankings: ranking date, ranking, player_id, ranking points, tours
SELECT MIN(loser_rank) FROM matches
Câu SQL do NLL sinh ra:
SELECT best_rank FROM matches
ORDER BY loser_rank_points DESC LIMIT 1 Câu SQL do RELAX sinh ra:
SELECT MIN(loser_rank) FROM matches
Thuật toán PPQ vo 40
Các bộ dữ liệu biến thể của Spider
Để đánh giá chất lượng mô hình, luận văn thực hiện thí nghiệm trên ba bộ dữ liệu biến thể của Spider: Spider-DK, Spider-Realistic và Spider-Syn Spider-DK bổ sung kiến thức chuyên ngành vào các câu hỏi để tăng tính thực tế, trong khi Spider-Realistic tăng độ khó bằng cách xoá tên cột trong tập kiểm chứng Cuối cùng, Spider-Syn thay thế tên bảng và cột bằng từ đồng nghĩa Bảng 4.8 trình bày kết quả của thuật toán RELAX và phương pháp sử dụng NLL.
43 để đối chiếu Trong phần lớn các trường hợp, RELAX đều có độ chính xác EM và
Mô hình EX vượt trội hơn hẳn, ngoại trừ bộ Spider-Realistic, cho thấy rằng nó không chỉ hoạt động hiệu quả trên bộ dữ liệu gốc mà còn cải thiện độ chính xác một cách đáng kể.
Z 2 A Z sk 2 2 Z cách 6n định trên các biên thé của nó.
Trong bài viết này, chúng tôi đề xuất một phương pháp mới kết hợp học máy tăng cường và học máy giám sát để chuyển đổi ngôn ngữ tự nhiên sang truy vấn SQL Phương pháp này nhằm cải thiện hiệu suất mô hình so với việc chỉ sử dụng hàm NLL trong học máy giám sát truyền thống Dựa trên mô hình T5, chúng tôi áp dụng kỹ thuật Gumbel-Softmax để lấy mẫu đầu ra và sử dụng các thuật toán policy gradient như REINFORCE và RELAX để huấn luyện phần học máy tăng cường Đồng thời, chúng tôi thiết kế một hàm phần thưởng gần với độ chính xác khớp cho bài toán này Các thí nghiệm được thực hiện với mô hình T5 small để đánh giá hiệu quả của phương pháp.
Kết quả từ bộ dữ liệu Spider và các biến thể cho thấy sự kết hợp của hai phương pháp học máy đã nâng cao đáng kể độ chính xác của mô hình, đặc biệt với các câu truy vấn phức tạp Độ chính xác cao hơn so với mô hình tham chiếu NLL được duy trì ổn định trong quá trình tinh chỉnh Thí nghiệm chứng minh rằng phương pháp học máy tăng cường đã tận dụng các mẫu sinh ra trong quá trình huấn luyện để cải thiện mô hình So với hệ thống sử dụng API ChatGPT, phương pháp đề xuất đạt độ chính xác tương đương ngay cả với mô hình T5 nhỏ Việc sử dụng hàm mục tiêu kết hợp cho phép huấn luyện các mô hình nhỏ gọn, phù hợp với phần cứng phổ thông, giúp tiết kiệm chi phí triển khai.
Bài toán chuyển đổi ngôn ngữ tự nhiên sang truy vấn SQL trong nghiên cứu này được thực hiện cho tiếng Anh, với khả năng mở rộng sang tiếng Việt trong tương lai Bên cạnh đó, việc thử nghiệm trên các bộ dữ liệu phức tạp hơn và nghiên cứu sâu về việc kết hợp với các mô hình ngôn ngữ lớn là những hướng đi tiềm năng cho nghiên cứu tiếp theo.
Vai trò của học máy tăng cường được khẳng định qua các thí nghiệm nhằm xác nhận đóng góp của các thuật toán này vào độ chính xác của mô hình Tác giả bắt đầu bằng việc tinh chỉnh mô hình T5 small gốc chỉ sử dụng học máy giám sát với hàm mất mát NLL Các thí nghiệm tiếp theo đều dựa trên trọng số đã được lưu lại (checkpoint) Tiếp theo, tác giả tiến hành tinh chỉnh lại mô hình C, vẫn sử dụng hàm mất mát NLL Cuối cùng, các thuật toán REINFORCE và RELAX được áp dụng để tinh chỉnh C, sử dụng hàm mất mát kết hợp giữa NLL và các thuật toán tương ứng.
Kết quả thí nghiệm cho thấy mô hình reNLL đạt độ chính xác tương đương với NLL gốc, trong khi REINFORCE thể hiện hiệu suất vượt trội hơn rõ rệt Điều này chứng minh rằng sự cải thiện của mô hình kết hợp giữa học máy giám sát và học máy tăng cường không phải do tinh chỉnh thêm, mà là nhờ vào sự kết hợp này Hơn nữa, khi so sánh kết quả giữa REINFORCE và RELAX, mặc dù hai thuật toán cho kết quả gần nhau, RELAX lại đạt hiệu suất tốt hơn sớm hơn REINFORCE chỉ với khoảng một nửa số bước huấn luyện.
Những kết quả này chứng minh rằng hai thuật toán học máy tăng cường có vai trò rõ ràng trong việc nâng cao độ chính xác của mô hình.
Hình 6.5: Kết quả EM khi có và không sử dụng học máy tăng cường
Hình 6.6: Kết quả EM của REINFORCE va RELAX
Xuan-Bang Nguyen, Xuan-Hieu Phan, Massimo Piccardi “Fine-Tuning Text-to- SQL Models with Reinforcement-Learning Training Objectives.” Submitted to Nat- ural Language Processing Journal.
L Banarescu, C Bonial, S Cai, M Georgescu, K Griffitt, U Hermjakob,
K Knight, P Koehn, M Palmer, and N Schneider, “Abstract meaning rep- resentation for sembanking,” in Proceedings of the 7th linguistic annotation ÿ workshop and interoperability with discourse, 2013, pp 178-186.
P Yin and G Neubig, “A syntactic neural model for general-purpose code generation,” arXiv preprint arXiv:1704.01696, 2017.
T Yu, R Zhang, K Yang, M Yasunaga, D Wang, Z Li, J Ma, I Li, Q. Yao, S Roman, Z Zhang, and D Radev, “Spider: A large-scale human- labeled dataset for complex and cross-domain semantic parsing and text- to-SQL task,” in Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, E Riloff, D Chiang, J Hockenmaier, and
J Tsujii, Eds., Brussels, Belgium: Association for Computational Linguistics,
Oct 2018, pp 3911-3921 DOI: 10.18653/v1/D18-1425 [Online] Available: https: //aclanthology.org/D18-1425.
B Wang, R Shin, X Liu, O Polozov, and M Richardson, “Rat-sql: Relation- aware schema encoding and linking for text-to-sql parsers,” arXiv preprint arXtv:1911.04942, 2019.
X V Lin, R Socher, and C Xiong, “Bridging textual and tabular data for cross-domain text-to-sql semantic parsing,” arXiv preprint arXiv:2012 12627,
D Choi, M C Shin, E Kim, and D R Shin, “Ryansql: Recursively applying sketch-based slot fillings for complex text-to-sql in cross-domain databases,” Computational Linguistics, vol 47, no 2, pp 309-332, 2021.
T Scholak, N Schucher, and D Bahdanau, “Picard: Parsing incrementally for constrained auto-regressive decoding from language models,” arXiv preprint arXtv:2109.05098, 2021.
J Li, B Hui, R Cheng, B Qin, C Ma, N Huo, F Huang, W Du, L Si, and
Y Li, “Graphix-t5: Mixing pre-trained transformers with graph-aware layers for text-to-sql parsing,” in Proceedings of the AAAI Conference on Artificial Intelligence, vol 37, 2023, pp 13 076-13 084.
L Zeng, S H K Parthasarathi, and D Hakkani-Tur, “N-best hypotheses reranking for text-to-sql systems,” in 2022 IEEE Spoken Language Technology Workshop (SLT), IEEE, 2023, pp 663-670.
J Qi, J Tang, Z He, X Wan, Y Cheng, C Zhou, X Wang, Q Zhang, and Z.
Lin, “Rasat: Integrating relational structures into pretrained seq2seq model for text-to-sql,” arXiv preprint arXtv:2205 06988, 2022.
A Liu, X Hu, L Wen, and P S Yu, “A comprehensive evaluation of chatgpt’s zero-shot text-to-sql capability,” arXiv preprint arXiv:2803.18547, 2023.
X Dong, C Zhang, Y Ge, Y Mao, Y Gao, J Lin, D Lou, và cộng sự, “C3: Zero-shot text-to-sql with chatgpt,” arXiv preprint arXiv:2807.07806, 2023.
A Agrahari, P K Ojha, A Gautam, and P Singh, “Sft for improved text- to-sql translation,” 2024.
H Touvron, L Martin, K Stone, P Albert, A Almahairi, Y Babaei, N. Bashlykov, S Batra, P Bhargava, and 5S Bhosale, “Llama 2: Open foundation and fine-tuned chat models,” arXiv preprint arXiv:2307.09288, 2023.
D Gao, H Wang, Y Li, X Sun, Y Qian, B Ding, and J Zhou, “Text-to- sql empowered by large language models: A benchmark evaluation,” arXiv preprint arXiv:2808.15363, 2023.
Y Xiang, Q.-W Zhang, X Zhang, Z Liu, Y Cao, and D Zhou, “G3r: A graph-guided generate-and-rerank framework for complex and cross-domain text-to-sql generation,” in Findings of the Association for Computational Lin- guistics: ACL 2028, 2023, pp 338-352.
R Cao, L Chen, Z Chen, Y Zhao, 5 Zhu, and K Yu, “Lgesql: Line graph enhanced text-to-sql model with mixed local and non-local relations,” arXiv preprint arXiv:2106.01098, 2021.
K Clark, “Electra: Pre-training text encoders as discriminators rather than generators,” arXiv preprint arXtv:2008.10555, 2020.
R Paulus, C Xiong, and R Socher, A deep reinforced model for abstrac- tive summarization, 2017 arXiv: 1705 04304 [cs.CL] [Online] Available: https://arxiv.org/abs/1705 04304.
R Pasunuru and M Bansal, “Multi-reward reinforced summarization with saliency and entailment,” in Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 2 (Short Papers), M Walker, H Ji, and A.
Stent, Eds., New Orleans, Louisiana: Association for Computational Linguis- tics, Jun 2018, pp 646-653 DOI: 10.18653/v1/N18-2102 [Online] Avail- able: https: //aclanthology.org/N18-2102.
J Parnell, I Jauregi Unanue, and M Piccardi, “A multi-document cover- age reward for RELAXed multi-document summarization,” in Proceedings of the 60th Annual Meeting of the Association for Computational Linguis- tics (Volume 1: Long Papers), S Muresan, P Nakov, and A Villavicencio, Eds., Dublin, Ireland: Association for Computational Linguistics, May 2022, pp 5112-5128 Dor: 10 18653/v1/2022.ac1-1ong 351 [Online] Available: https: //aclanthology.org/2022.acl-long.351.
M Ranzato, S Chopra, M Auli, and W Zaremba, “Sequence level training with recurrent neural networks,” arXiv preprint arXtv:1511.06782, 2015.
S Edunov, M Ott, M Auli, D Grangier, and M Ranzato, “Classical struc- tured prediction losses for sequence to sequence learning,” in Proceedings of ằ the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers), M Walker, H Ji, and A Stent, Eds., New Orleans, Louisiana: As- sociation for Computational Linguistics, Jun 2018, pp 355-364 DOI: 10.
18653/v1/N18-1033 [Online] Available: https: //aclanthology.org/N18-
V Zhong, C Xiong, and R Socher, “Seq2sql: Generating structured queries from natural language using reinforcement learning,” CoRR, vol abs/1709.00103,
K Papineni, S Roukos, T Ward, and W.-J Zhu, “Bleu: A method for au- tomatic evaluation of machine translation,” in Proceedings of the 40th An- nual Meeting on Association for Computational Linguistics, ser ACL ’02, Philadelphia, Pennsylvania: Association for Computational Linguistics, 2002, pp 311-318 Dor: 10 3115/1073083 1073135 [Online] Available: https:
R 5 Sutton, “Reinforcement learning: An introduction,” A Bradford Book,
J Schulman, F Wolski, P Dhariwal, A Radford, and O Klimov, “Proximal policy optimization algorithms,” arXiv preprint arXiv:1707.06347, 2017.
J Devlin, “Bert: Pre-training of deep bidirectional transformers for language understanding,” arXiv preprint arXiv:1810.04805, 2018.
A Radford, K Narasimhan, T Salimans, and I Sutskever, “Improving lan- guage understanding by generative pre-training,” 2018.
C Raffel, N Shazeer, A Roberts, K Lee, S Narang, M Matena, Y Zhou, W.
Li, and P J Liu, “Exploring the limits of transfer learning with a unified text- to-text transformer,” Journal of machine learning research, vol 21, no 140, pp 1-67, 2020.
A Vaswani, N Shazeer, N Parmar, J Uszkoreit, L Jones, A N Gomez, b. Kaiser, and I Polosukhin, “Attention is all you need,” in Advances in Neural Information Processing Systems, I Guyon, U V Luxburg, S Bengio, H Wal- lach, R Fergus, S Vishwanathan, and R Garnett, Eds., vol 30, Curran Asso- ciates, Inc., 2017 [Online] Available: https: //proceedings neurips.cc/ paper _ files /paper /2017 /£i1e / 3f5ee243547dee91fbd053c1c4a845aa-
J Pennington, R Socher, and C D Manning, “Glove: Global vectors for word representation,” in Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP), 2014, pp 1532-1543.
T Mikolov, “Efficient estimation of word representations in vector space,” arXtv preprint arXiv:1801.3781, 2013.
E Jang, S Gu, and B Poole, “Categorical reparameterization with gumbel- softmax,” arXiv preprint arXiv:1611.01144, 2016.
R J Williams, “Simple statistical gradient-following algorithms for connec- tionist reinforcement learning,” Machine learning, vol 8, pp 229-256, 1992.
W Grathwohl, D Choi, Y Wu, G Roeder, and D Duvenaud, “Backpropa- gation through the void: Optimizing control variates for black-box gradient estimation,” arXiv preprint arXiv:1711.00123, 2017.