96ers / summerizIT

GNU General Public License v3.0
1 stars 0 forks source link

tìm hiểu mô hình dịch từ tiếng Anh sang tiếng Việt #8

Closed quangster closed 3 months ago

quangster commented 4 months ago

@CoderHung tìm hiểu các mô hình dịch thuật từ tiếng Anh sang tiếng Việt (en2vi), tóm tắt, phân tích so sánh hiệu suất, ưu nhược điểm của mỗi mô hình. Từ đó xác định mô hình phù hợp cho dự án.

CoderHung commented 3 months ago

Summarisation Model

Falconsai text summarizer(https://huggingface.co/Falconsai/text_summarization) • Model: varient of T5 transformer model designed for text summarization • Input limit: input must be below 512 tokens( ~ words) • Quality không ổn, hay đưa ra các output vô lý , hay crash

facebook/bart-large-cnn(https://huggingface.co/facebook/bart-large-cnn) • Model: BART model pre-trained on English language news articles • Input limit: 1024 tokens, nếu muốn lên đến limit 2000 ký tự chắc phải tách input ra thành 2 phần rồi summarize từng phần(Việc này thiếu hiệu quả sẽ phải nghiên cứu thêm) • Output chất lượng tốt, có được chọn min và max token length của output

CoderHung commented 3 months ago

Translation models

En2Vi(https://github.com/VinAIResearch/VinAI_Translate, https://huggingface.co/vinai/vinai-translate-en2vi-v2) và Vi2En • Paper: https://openreview.net/pdf?id=CRg-RaxKnai o Model : sequence-to-sequence denoising auto-encoder mBART(https://arxiv.org/pdf/2001.08210v2.pdf) o Training set: PhoMT, WikiMatrix, CCAligned • Bleu score o EN-VI: 44.5(Google translate: 40) o VI-EN: 40.5(Google translate: 35) • Text limit: 1024 tokens(uses way too much memory, can’t get close to max length, maybe ~300 letters on my computer) Khi chạy thử thì model chậm, xử dụng rất nhiều bộ nhớ, chất lượng dịch tạm được nhưng thường xuyên crash -> Model chậm, unreliable và xử dụng nhiều tài nguyên máy

ChatGPT • Text limit: input string length <= 4000 • Api call limit : input(0.5$/1m) và output(0.5$/1m) • Output quality: very good

MTet: Multi-domain Translation for English-Vietnamese(https://github.com/vietai/mTet) • Paper: https://arxiv.org/pdf/2210.05610.pdf o Model: Text-to-Text Transfer Transformer model follows the encoder-decoder architecture proposed by (Vaswani et al., 2017) and the T5 framework proposed by (Raffel et al., 2019) o Training set: MTet + PhoMT • Bleu score o En-Vi: 45.47 o Vi-En: 40.57 • Text limit: mặc định 512 tokens(Có thể chỉnh thể xử lý input có nhiều token hơn), mình thì chạy trên 300 tokens nhanh(đoạn text 300 token mất tầm 8 giây -> iput 2000 tokens mất khoảng độ 1-2 phút) • Khi chạy thử thì model chạy nhanh, không có lỗi hay crash và chất lượng dịch tốt -> Model chạy nhay, reliable và không sử dụng quá nhiều bộ nhớ

Model hợp lý nhất hiện tại là model mTet(nhanh và đáng tin cậy)

quangster commented 3 months ago

ok, mô hình dịch sẽ chọn là mTet, mô hình tóm tắt tạm thời có thể gọi API của chatGPT 3.5. Implement 2 phần này thành 1 API server để chạy riêng có ổn ko ?

CoderHung commented 3 months ago

Về phần thiết kế Api thì tôi vẫn đang tìm hiểu ông ạ, nếu ông nghĩ mình nên làm như thế trước đã thì tôi có thể thử cài đặt

quangster commented 3 months ago

có thể thiết kế nhiều API cho các model khác nhau, không nhất thiết chỉ có 2 API. ví dụ: 1 API để tóm tắt bằng chatGPT, 1 API để dịch bằng chatGPT, 1 API dịch bằng mTet, ....