Đối với việc huấn luyện dữ liệu riêng thì việc tuyển chọn dữ liệu phù hợp và đúng với mục đích phục vụ là một công việc quan trọng giúp cho quá trình huấn luyện dễ đạt kết quả như mong muốn đồng thời đáp ứng được mục đích của ứng dụng hơn.
Lý thuyết thì như vậy tuy nhiên trong thực tế triển khai sau khi trao đổi với nhóm thực hiện huấn luyện đã trở nên bối rối vì không biết lựa chọn và chuẩn bị dữ liệu từ những thứ đã có sẵn trong tổ chức của mình ra sao. Có nhóm thì gửi cho chúng tôi một loạt những trang web dưới dạng user guide liên quan đến sản phẩm của tổ chức, có nhóm thì gửi thông tin là các landing page chứa các thông tin quảng cáo, có nhóm thì gửi bộ câu hỏi trắc nghiệm trong đó chứa nhiều câu hỏi và các câu trả lời đúng sai dưới dạng thiên kiến mà không có chứa thông tin để học… vì vậy bài viết này sẽ giúp các bạn có một cái nhìn thực tế hơn bằng ngôn ngữ đời thường, ít kỹ thuật, công nghệ hơn về việc chuẩn bị và tuyển chọn dữ liệu như thế nào trước khi đưa vào huấn luyện.
Chắc hẳn tất cả chúng ta đều biết rằng, việc chuẩn bị huấn luyện cho một em bé từ các cấp mẫu giáo, đến các cấp học tiểu học, trung học, đại học… thì chuẩn bị giáo trình và kiến thức là một quá trình công phu, tốn kém và mất thời gian chứ không phải cứ vứt một thứ hổ lốn gì đó ra là các em bé có thể tự đọc, tự phân tích và tự hiểu được mà không phải trả cho các bé đồng lương nào 🙂
Các em bé máy của chúng ta cũng như vậy, hơn nữa các em bé máy mà chúng ta có ý định dạy dỗ còn mang cả một sứ mệnh rằng khi chúng học xong rồi thì chúng phải đại diện cho chính chúng ta để phục vụ tập người dùng trong hoạt động hàng ngày mà chúng ta hướng đến trong thời gian ngắn hơn rất nhiều so với việc chúng ta đi huấn luyện một em bé người, vì vậy việc chuẩn bị và chọn lọc kiến thức đưa vào dạy dỗ còn càng phải được làm một cách chính xác, cô đọng và rõ ràng hơn rất nhiều.
Các yếu tố cần xem xét trong chuẩn bị dữ liệu
Chuẩn bị dữ liệu là bước đầu tiên trong việc huấn luyện dữ liệu AI trong tổ chức và doanh nghiệp, hãy ngồi xuống cùng cân nhắc cụ thể các yếu tố dưới đây cho tổ chức của bạn trước khi liên hệ với chúng tôi nhé:
Người sử dụng mà chúng ta hướng tới là ai: Việc nhận biết người dùng là quan trọng, thông qua nhận biết này chúng ta có thể hiểu được cách thức tương tác và sử dụng hệ thống cũng như thiết bị công nghệ của họ thế nào. Với mỗi tập người dùng khác nhau chúng ta sẽ cần cân nhắc một cách tiếp cận khác nhau để tránh tình trạng xây dựng app mobile dùng cho người già có lứa tuổi trên 70 như hiện tại nhiều nơi đang làm được.
Họ cần thông tin gì mà chúng ta có thể cung cấp: Mỗi một tập người dùng có mức độ cần thông tin từ chúng ta khác nhau và dĩ nhiên cách thức tương tác và thông tin họ muốn nhận cũng khác nhau. Từ những phân tích này chúng ta sẽ xác định phục vụ các set menu nào trước, set menu nào sau hoặc từ chối phục vụ những thứ nằm ngoài khả năng chế biến của chúng ta. Tránh cung cấp một món lẩu thập cẩm rồi món nào cũng lổn nhổn
Các thông tin mà chúng ta cung cấp có giá trị đối với họ như thế nào, mang lại giá trị gì cho chúng ta: Thông tin mà chúng ta cung cấp có thực sự giá trị hay không, có đáng để biến nó thành Trí tuệ nhân tạo hay không? Có đáng để sử dụng mạng neuron máy để biểu diễn hay không? Có đáng tốn băng thông mạng, bộ nhớ, lưu trữ để đưa nó thành một ứng dụng máy hay không? Dưới góc độ giữa chủ đầu tư và nhà cung cấp dịch vụ thì vấn đề này không quá quan trọng vì cứ đặt hàng thì nhà cung cấp sẽ có trách nhiệm thực hiện, tuy nhiên đối với một ứng dụng AI đây thực sự là vấn đề các Chủ đầu tư cần đặt câu hỏi và cân nhắc một cách nghiêm túc trước khi thực hiện.
Họ có thể hỏi những câu hỏi như thế nào để có được thông tin mà họ cần: Đối với ứng dụng chatbot kiểu cũ thì việc hình dung câu hỏi là rất quan trọng, nó cho phép chúng ta lập trình sẵn câu hỏi đầu vào tuy nhiên đối với việc huấn luyện dữ liệu AI thì việc hình dung câu hỏi mà người dùng sẽ tương tác cho phép ta tưởng tượng ra độ phức tạp của các câu hỏi mà chúng ta cần phân tích; tưởng tượng tiếp ra các format dữ liệu mà chúng ta cần tổ chức để đáp ứng những câu hỏi dạng đó như thế nào và cuối cùng nó là một bộ kiểm chứng về kết quả đầu ra mà chúng ta muốn tối ưu hoá mô hình sau khi huấn luyện sẽ như thế nào.
và cuối cùng là điểm quan trọng nhất là chúng ta dựa vào tài liệu chứa thông tin nào để từ đó có thể trả lời câu hỏi của người dùng: Đây là điểm quan trọng nhất của dữ liệu mà chúng ta cần chuẩn bị. Cũng giống như việc đào tạo con người, chúng ta phải học từ một nguồn tài liệu nào đó, nó không phải là một bộ hỏi đáp được lập trình sẵn, nó không phải các câu hỏi trắc nghiệm, nó không phải các bài viết quảng cáo hay không phải một thứ tài liệu nào đó giải đáp dài dòng, vòng vo, khó hiểu cả. Nó phải là một thứ cô đọng, chính xác, đối với mô hình GPT mà chúng ta đang xử lý ở đây thì dữ liệu phải là text (chữ) chứ không phải hình ảnh… Nó phải được loại bỏ nhiễu thông tin, nó cần phải được chuẩn hoá về từ ngữ, thuật ngữ, đơn vị, quy cách viết một cách tiêu chuẩn. Nó cần phải loại bỏ toàn bộ các từ ngữ dư thừa, loại bỏ cách viết văn hoa, ngoa ngữ hay mỹ từ… đơn giản vì chúng ta muốn dạy kiến thức cho máy, làm sao cho máy có thể “học” và “hiểu” nhanh nhất, rõ ràng nhất chứ không phải đi đánh đố máy nữa. Chúng ta cần nó học để phục vụ chứ không phải chơi trò đố chữ với chúng ta.
Các yêu cầu của tuyển chọn dữ liệu
Việc tuyển chọn dữ liệu (data selection) cho việc huấn luyện dữ liệu riêng là một bước quan trọng và thường đòi hỏi sự cân nhắc kỹ lưỡng trước khi thực hiện huấn luyện. Dưới đây là một số nguyên tắc cơ bản mà bạn có thể theo dõi:
Tính đa dạng: Theo lý thuyết thì dữ liệu huấn luyện nên đại diện cho tất cả các trường hợp mà trường hợp sử dụng của bạn có thể gặp phải khi được triển khai. Tuy nhiên trong huấn luyện dữ liệu riêng, có thể chúng ta chỉ cần tập trung vào việc đáp ứng mục đích trả lời hỏi đáp với dữ liệu mà chúng ta cung cấp vì vậy chúng ta cần kiểm soát và loại trừ những tình huống chưa từng gặp phải để tránh sa đà vào việc chứng minh rằng AI của chúng ta phải trả lời mọi thứ bên ngoài thì mới được gọi là thông minh. Chỉ cần đủ là được.
Lượng dữ liệu “đủ” lớn: Việc huấn luyện mô hình học sâu thường đòi hỏi một lượng lớn dữ liệu. Số lượng cụ thể sẽ phụ thuộc vào nhiều yếu tố, bao gồm độ phức tạp của vấn đề và mô hình đang được sử dụng, tuy nhiên trong các trường hợp huấn luyện dữ liệu riêng thì yếu tố “đủ” là điều quan trọng. Nếu chúng ta đưa không đủ và cập nhật nó thì chúng ta sẽ phải huấn luyện lại khi có những thay đổi này.
Chất lượng dữ liệu: Dữ liệu huấn luyện nên chính xác, đáng tin cậy, và không có nhiễu. Mô hình học máy tuân theo nguyên tắc “rác vào, rác ra” (garbage in, garbage out), tức là nếu bạn huấn luyện nó với dữ liệu không chính xác hoặc nhiễu, kết quả cũng sẽ không tốt.
Phân chia dữ liệu: Dữ liệu thường được chia thành ba tập: tập huấn luyện, tập kiểm định (validation) và tập kiểm tra (test). Tập huấn luyện được sử dụng để huấn luyện mô hình, tập kiểm định được sử dụng để điều chỉnh siêu tham số và đánh giá quá trình học của mô hình, và tập kiểm tra được sử dụng để đánh giá hiệu suất cuối cùng của mô hình.
Cô đọng thông tin: Đối với dữ liệu riêng, đặc biệt với các dữ liệu cũ trước đây chúng được biểu diễn để phục vụ các media hoặc sử dụng trong các ứng dụng khác nhau vì vậy sẽ có nhiều thông tin là không cần thiết và vô nghĩa khi trở thành dữ liệu AI. Chúng ta cần cô đọng đặc biệt về việc diễn tả thông tin bằng cách viết lại hoặc tóm tắt lại một cách chắt lọc nhất.
Cân bằng dữ liệu: Trong trường hợp của các vấn đề phân loại, cần bằng dữ liệu điều quan trọng là để đảm bảo rằng tất cả các lớp đều được biểu diễn một cách cân bằng khi đưa vào huấn luyện. Nếu không, mô hình có thể có hiệu suất kém khi dự đoán các lớp ít được đại diện hoặc sẽ không diễn đạt hết được ý nghĩa của các lớp có độ chênh lệch dữ liệu quá lớn. Ví dụ như trong biểu diễn một dịch vụ công thì trường thông tin “trình tự thủ tục” sẽ có thủ tục có độ lớn 1/3 trang giấy A4, trong khi ở thủ tục khác lại có độ lớn đến 32 trang giấy A4, đây là trường hợp mất cân bằng nghiêm trọng, chúng ta cần có những phương pháp tổ chức dữ liệu hợp lý để cân bằng việc này nếu nhất định phải bao gồm toàn bộ thủ tục đó trong ứng dụng của chúng ta.
Xử lý dữ liệu cần thiết: Dữ liệu thường cần được tiền xử lý trước khi được sử dụng để huấn luyện mô hình. Quá trình này có thể bao gồm việc loại bỏ dữ liệu nhiễu, điền vào các giá trị bị thiếu, chuẩn hóa dữ liệu, hoặc chuyển đổi dữ liệu vào định dạng phù hợp cho mô hình.
Kích thước và định dạng dữ liệu: Kích thước và định dạng của dữ liệu cũng cần được xem xét. Ví dụ, trong việc huấn luyện mô hình hình ảnh, bạn có thể cần phải thay đổi kích thước của hình ảnh hoặc chuyển đổi chúng thành các mảng số.
Kiểm tra sự phù hợp của dữ liệu: Trước khi sử dụng dữ liệu cho việc huấn luyện, hãy đảm bảo rằng dữ liệu phù hợp với mô hình và nhiệm vụ mà bạn đang cố gắng giải quyết. Ví dụ, nếu bạn đang cố gắng giải quyết một vấn đề phân loại nhị phân, hãy đảm bảo rằng bạn có dữ liệu nhãn cho mỗi mẫu trong tập dữ liệu của bạn.
Chọn dữ liệu không chệch: Đảm bảo dữ liệu huấn luyện không có chệch nghiêm trọng hoặc định kiến, vì điều này có thể dẫn đến việc mô hình học và tái tạo những định kiến này, dẫn đến kết quả không chính xác hoặc không công bằng.
Những nguyên tắc nêu trên là một số điểm cần chú ý khi tuyển chọn dữ liệu cho việc huấn luyện mô hình nói chung. Trong việc huấn luyện đối với mô hình dữ liệu riêng chúng ta sẽ cần xem xét và sử dụng cho từng trường hợp cụ thể hướng tới mục đích mong muốn.
Kết luận
AI mà cụ thể là ChatGPT của OpenAI hay Bard của Google (vừa được giới thiệu) mang lại cho chúng ta một kết quả đáng ngạc nhiên tuy nhiên đằng sau nó là sự chuẩn bị cực kỳ nghiêm túc, công phu của đội ngũ xử lý dữ liệu và thực sự rằng nó chiếm phần lớn trong chi phí của cả hai dự án vì vậy mà chúng ta mới có được kết quả như bây giờ.
Hiểu được việc này thì khi tiến hành huấn luyện với dữ liệu riêng của mình, các tổ chức, doanh nghiệp cũng cần nhìn nhận một cách nghiêm túc, thực hiện bài bản cùng với sự tư vấn của các doanh nghiệp triển khai và đội ngũ core team của myGPT để có kết quả như mong đợi.
myGPT Data Processing Team