- Giới thiệu về Vietnamese_LLMs
- Mục tiêu dự án
- Cách tiến hành dự án
- Cấu trúc của dự án
- Tầm nhìn
- Kế Hoạch
- Làm thế nào bạn có thể giúp đỡ
Chào bạn đến với dự án Cộng đồng LLMs Việt Nam! Dự án với mục tiêu tạo ra bộ dữ liệu Vietnamese instruction và thực hiện Supervised instruction fine-tuning trên các Open-source mô hình ngôn ngữ Bloom, OpenLLaMA, GPT-J, MPT, Pythia và nhiều mô hình khác.
- [Dự án Tổng Quan] ()
- Xây dựng Bộ dữ liệu Hướng dẫn tiếng Việt chất lượng cao
- Huấn luyện, Tinh chỉnh và Đánh giá Mô hình Ngôn ngữ tiếng Việt (Training, Finetuning, Evaluation)
- Thiết kế Ứng dụng với Giao diện Người dùng tối ưu hiệu suất
-
Xây dựng Bộ dữ liệu Tiếng Việt cho Hướng dẫn (Instructions) (chất lượng, phong phú và đa dạng):
- Chuyển đổi các bộ dữ liệu Hướng dẫn Tiếng Anh sang Tiếng Việt.
- Tổng hợp các nguồn dữ liệu đa dạng có sẵn:
- Sử dụng bộ dữ liệu Hướng dẫn Tiếng Việt từ wikiHow, ví dụ: human-instruction Vietnamese dataset.
- Sử dụng các bộ dữ liệu từ lĩnh vực Báo chí, Y học, Giáo dục, v.v., ví dụ: bộ dữ liệu từ Báo Corpus (news-corpus).
- Tạo bổ sung bộ dữ liệu tự học (self-instruct):
- Sử dụng bộ dữ liệu tự học như Stanford Alpaca.
- Tạo bộ dữ liệu dựa trên các mô hình ngôn ngữ lớn như GPT-3, GPT-3.5, GPT-4, PALM2, v.v.
-
Huấn luyện và Đánh giá Mô hình Ngôn ngữ (Training, Finetuning, Evaluating, Testing LLM):
- Tinh chỉnh (Finetuning) các mô hình ngôn ngữ mã nguồn mở như bloomz, OpenLLaMA, GPT-J pythia, v.v. trên Bộ dữ liệu Hướng dẫn Tiếng Việt.
- Áp dụng các kỹ thuật tối ưu hóa (Compression Machine learning) như Quantization, Sparsity & Quantization.
- Sử dụng kỹ thuật tinh chỉnh hiệu quả như LoRA và QLoRA.
- Áp dụng các kỹ thuật tối ưu hóa Huấn luyện và Tinh chỉnh như Deepspeed, Colossal AI.
- Tinh chỉnh (Finetuning) các mô hình ngôn ngữ mã nguồn mở như bloomz, OpenLLaMA, GPT-J pythia, v.v. trên Bộ dữ liệu Hướng dẫn Tiếng Việt.
- Bạn có thể theo dõi chi tiết model Finetuning
- Đánh giá hiệu suất của mô hình trên các bài kiểm tra (Benchmark) và các tình huống thực tế.
- Kiểm thử mô hình trên nhiều cách sử dụng khác nhau.
- Thiết kế Ứng dụng:
- Thiết kế Giao diện Người dùng (UI) thân thiện và dễ sử dụng.
- Tối ưu hiệu suất ứng dụng.
Dưới đây là cấu trúc của dự án, mô tả các phần quan trọng và chức năng chính của chúng:
Thư mục /Generate_and_Translate_Dataset
chứa các bộ dữ liệu và công cụ liên quan đến việc tạo và dịch các instruction dataset.
-
Phần Dịch (Translation Dataset)
-
Using_OpenAI_Translate_API.py
: Sử dụng OpenAI GPT-3.5 và GPT-4 để dịch các bộ dữ liệu. Đây là một phương pháp cho kết quả tốt. -
Using_NLLB_MetaAI_Translate.py
: Sử dụng NLLB làm mô hình cho việc dịch. Bạn có thể sử dụng 54B model để đạt được kết quả tương đối.
-
-
Phần Tạo Instruction Dataset
-
Chi tiết kỹ thuật dùng tạo Instruction dataset từ Slide 8 tới slide 14
-
Generation_instruction_OpenAI_api.py
: Sử dụng Stanford Alpaca template để tạo các instruction dataset. Gồm hơn 175 instruction tasks được tạo bởi con người. -
Cập Nhập Sớm trong Tương Lai: Phần này dự kiến sẽ được cập nhật với thông tin về cách tạo thêm Instruction dataset từ các nguồn khác.
-
Thư mục /LLMs
chứa các tệp tin và công cụ để training và fine-tune các mô hình ngôn ngữ (Language Models).
-
Phần Fine-tuning dựa trên các Open-Source Based LLMs (BLOOMZ, Open-LLaMA, v.v.)
-
Finetune_llm_LoRA.py
: Cung cấp công cụ để fine-tune các mô hình LLMs dựa trên các mã nguồn mở như BLOOMZ, Open-LLaMA, v.v. -
Finetune_llm_QLoRA.py
: Đây là một công cụ khác để fine-tune các mô hình LLMs dựa trên các mã nguồn mở.
-
Thư mục /WebUI
chứa các tệp tin và công cụ liên quan đến giao diện người dùng qua Web.
-
Hiện tại, để nhanh chóng và thuận tiện cho việc demo và kiểm thử, chúng tôi sử dụng Gradio để phát triển giao diện.
assistant_gradio.py
: Đây là ứng dụng đã được phát triển dựa trên Gradio, cho phép trải nghiệm trực quan và trò chuyện với trợ lý thông qua giao diện Web.
Hy vọng Với cấu trúc này, dự án có thể được quản lý một cách cụ thể và dễ đàng để cập nhập mọi người có thể góp ý để có một cấu trúc tốt hơn
Xây dựng trợ lý thông minh tiếng Việt của tương lai, vượt trội và linh hoạt hơn bao giờ hết!
-
Chúng ta sẽ tạo ra một mô hình LLMs (Language Models) tiên tiến có khả năng xử lý tốt các tác vụ tiếng Việt. Mục tiêu của phát triển mạnh các LLMs ứng dụng khác trong Giáo dục, Y tế, Tài chính và Công nghiệp.
-
Điều đặc biệt là chúng ta muốn tạo ra mô hình trợ lý có khả năng tương tác nâng cao trên tiếng Việt. Hơn thế nữa chúng ta cũng đặt mục tiêu làm cho mô hình này nhỏ gọn và hiệu quả, để có thể chạy trên các người dùng cá nhân máy tính với các GPUs thế hệ thấp với ít memory.
-
Dự án này chúng ta mong muốn nhận được sự đóng góp và hỗ trợ cộng đồng. Hãy cùng nhau xây dựng một trợ lý thông minh nói riêng và mô hình ngôn ngữa thuần tiếng Việt nói chung và góp phần tạo ra những đóng góp ý nghĩa cho cộng đồng Việt Nam 🇻🇳.
- Mục tiêu: Dịch các bộ dữ liệu chuẩn và chất Lượng English based instructions dataset : Alpaca, Dolly 15k, OpenAssistant, Filtered_ShareGPT others dataset.
- Xây dựng hệ thống, thống kê hiển thị các chủ đề khác nhau trong tập dữ liệu đã thu thập. Mục đích là loại bỏ dữ liệu chứa thông tin gây lặn, độc hại, spam, rác rưởi hoặc thông tin cá nhân hoặc các dữ không đạt yêu cầu.
- Sử dụng OpenAI GPT-3.5, GPT-4 để tạo tập dữ liệu hướng dẫn.
- Mục tiêu: Thu thập 500.000 đến 1 triệu mẫu hướng dẫn đầu vào + phản hồi (Instructions, outputs)
- Đồng thời, chúng tôi thu thập các hướng dẫn được tạo bởi con người có sẵn bằng tiếng Việt.
- Kết hợp tập dữ liệu từ Bước 1 và Bước 2.
- Tiền xử lý tập dữ liệu để chuẩn bị cho các bước tiếp theo.
- Dựa trên tập dữ liệu hướng dẫn tiếng Việt, tiến hành giai đoạn SFT để tinh chỉnh mô hình.
- Sau khi hoàn thành Bước 4, chúng ta có thể tiếp tục huấn luyện mô hình với giai đoạn RLHF dựa trên tập dữ liệu hướng dẫn từ con người thuộc dự án OpenAssistant công khai.
Hãy nhớ rằng các bước này đại diện cho quy trình chung và có thể được điều chỉnh và bổ sung theo yêu cầu cụ thể của dự án.
Chúng ta có thể cùng nhau đóng góp tri thức và công nghệ của mình để mang lại lợi ích cho cộng đồng Việt Nam.
-
bạn có thể cùng xây dựng dự án: Hãy xem hướng dẫn Đóng Góp Cho Dự Án để bắt đầu chung tay xây dựng dự án này.
-
Bạn có thể hổ trợ về tài nguyên như máy chủ server hoặc các tài nguyên khác.
- Dự án hiện rất cần các nguồn tài trợ tài nguyên GPUs để có thể tiến hành quá trình huấn luyện (Pretraining) và quá trình tinh chỉnh (Finetuning).
- Nếu bạn Có thể giúp dự án kết nối với các công ty tư nhân để mang dự án này áp dụng rộng rãi.
- Bạn có thể kết nối trực tiếp với Trần Nhiệm Facebook. Nhiệm với vụ cho Lập kế hoạch và Lên lịch, Tài liệu và Báo cáo.