Tinh chỉnh các mô hình ngôn ngữ biến đổi để đảm bảo sự đa dạng về ngôn ngữ với Hugging Face trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tinh chỉnh các mô hình ngôn ngữ biến áp để đa dạng ngôn ngữ với Khuôn mặt ôm trên Amazon SageMaker

Khoảng 7,000 ngôn ngữ đang được sử dụng ngày nay. Bất chấp những nỗ lực vào cuối thế kỷ 19 để phát minh ra các ngôn ngữ xây dựng như Volapük hoặc Esperanto, không có dấu hiệu thống nhất. Mọi người vẫn chọn tạo ngôn ngữ mới (hãy nghĩ về nhân vật phim yêu thích của bạn nói tiếng Klingon, Dothraki hoặc Elvish).

Ngày nay, các ví dụ về xử lý ngôn ngữ tự nhiên (NLP) được thống trị bởi tiếng Anh, ngôn ngữ mẹ đẻ chỉ dành cho 5% dân số và chỉ 17% được nói.

Sản phẩm thiết bị số được định nghĩa là khoảng cách giữa những người có thể tiếp cận công nghệ kỹ thuật số và những người không thể. Thiếu khả năng tiếp cận kiến ​​thức hoặc giáo dục do rào cản ngôn ngữ cũng góp phần vào khoảng cách kỹ thuật số, không chỉ giữa những người không nói tiếng Anh mà còn đối với những người nói tiếng Anh không có quyền truy cập vào nội dung không phải tiếng Anh. làm giảm sự đa dạng của tư tưởng và kiến ​​thức. Có quá nhiều thứ để học hỏi lẫn nhau.

Trong bài đăng này, chúng tôi tóm tắt những thách thức của các ngôn ngữ ít tài nguyên và thử nghiệm các phương pháp tiếp cận giải pháp khác nhau bao gồm hơn 100 ngôn ngữ bằng cách sử dụng máy biến áp Khuôn mặt ôm trên Amazon SageMaker.

Chúng tôi tinh chỉnh các mô hình ngôn ngữ dựa trên máy biến áp được đào tạo trước khác nhau cho một nhiệm vụ hỏi và trả lời. Chúng tôi sử dụng tiếng Thổ Nhĩ Kỳ trong ví dụ của mình, nhưng bạn có thể áp dụng phương pháp này cho ngôn ngữ được hỗ trợ khác. Trọng tâm của chúng tôi là các biến thể BERT [1], bởi vì một tính năng tuyệt vời của BERT là kiến ​​trúc thống nhất của nó trên các tác vụ khác nhau.

Chúng tôi chứng minh một số lợi ích của việc sử dụng máy biến áp Mặt ôm trên Amazon SageMaker, chẳng hạn như đào tạo và thử nghiệm trên quy mô lớn, đồng thời tăng năng suất và hiệu quả chi phí.

Tổng quan về NLP

Đã có một số phát triển lớn trong NLP kể từ năm 2017. Sự xuất hiện của các kiến ​​trúc học sâu như máy biến áp [2], các kỹ thuật học không giám sát để đào tạo các mô hình như vậy trên tập dữ liệu cực lớn và học chuyển giao đã cải thiện đáng kể trạng thái nghệ thuật trong sự hiểu biết ngôn ngữ tự nhiên. Sự xuất hiện của các trung tâm mô hình được đào tạo trước đã tiếp tục dân chủ hóa khả năng tiếp cận kiến ​​thức tập thể của cộng đồng NLP, loại bỏ nhu cầu bắt đầu lại từ đầu.

Mô hình ngôn ngữ là một mô hình NLP học cách dự đoán từ tiếp theo (hoặc bất kỳ từ nào bị che) trong một trình tự. Vẻ đẹp thực sự của các mô hình ngôn ngữ như một điểm khởi đầu là gấp ba lần: Thứ nhất, nghiên cứu đã chỉ ra rằng các mô hình ngôn ngữ được đào tạo trên dữ liệu ngữ liệu văn bản lớn học được nhiều nghĩa phức tạp hơn của từ so với các phương pháp trước đây. Ví dụ, để có thể dự đoán từ tiếp theo trong một câu, mô hình ngôn ngữ phải hiểu ngữ cảnh, ngữ nghĩa và ngữ pháp tốt. Thứ hai, để đào tạo một mô hình ngôn ngữ, dữ liệu có nhãn — khan hiếm và đắt tiền — không cần thiết trong quá trình đào tạo trước. Điều này rất quan trọng vì một lượng lớn dữ liệu văn bản không được gắn nhãn có sẵn công khai trên web bằng nhiều ngôn ngữ. Thứ ba, người ta đã chứng minh rằng một khi mô hình ngôn ngữ đủ thông minh để dự đoán từ tiếp theo cho bất kỳ câu nào đã cho, thì việc thực hiện các nhiệm vụ NLP khác như phân tích cảm xúc hoặc trả lời câu hỏi với rất ít dữ liệu được gắn nhãn sẽ tương đối dễ dàng biểu diễn từ một mô hình ngôn ngữ được đào tạo trước [3].

Các dịch vụ NLP được quản lý đầy đủ cũng đã thúc đẩy việc áp dụng NLP. Amazon hiểu là một dịch vụ được quản lý hoàn toàn cho phép phân tích văn bản để trích xuất thông tin chi tiết từ nội dung của tài liệu và nó hỗ trợ nhiều ngôn ngữ khác nhau. Amazon Complusive hỗ trợ phân loại tùy chỉnh và nhận dạng thực thể tùy chỉnh, đồng thời cho phép bạn xây dựng các mô hình NLP tùy chỉnh cụ thể cho các yêu cầu của bạn mà không cần bất kỳ kiến ​​thức chuyên môn nào về ML.

Những thách thức và giải pháp cho các ngôn ngữ ít tài nguyên

Thách thức chính đối với một số lượng lớn các ngôn ngữ là chúng có sẵn tương đối ít dữ liệu để đào tạo. Chúng được gọi là ngôn ngữ tài nguyên thấp. Giấy m-BERT [4] và XLM-R [7] đề cập đến tiếng Urdu và tiếng Swahili là những ngôn ngữ ít tài nguyên.

Hình dưới đây chỉ rõ các mã ISO của hơn 80 ngôn ngữ và sự khác biệt về kích thước (theo thang log) giữa hai khóa đào tạo trước chính [7]. Trong Wikipedia (màu cam), chỉ có 18 ngôn ngữ với hơn 1 triệu bài báo và 52 ngôn ngữ với hơn 1,000 bài báo, nhưng 164 ngôn ngữ với chỉ 1–10,000 bài báo [9]. Kho ngữ liệu CommonCrawl (màu xanh lam) tăng lượng dữ liệu cho các ngôn ngữ có tài nguyên thấp lên hai bậc. Tuy nhiên, chúng vẫn còn tương đối nhỏ so với các ngôn ngữ đòi hỏi nhiều tài nguyên như tiếng Anh, tiếng Nga hoặc tiếng Đức.

Tinh chỉnh các mô hình ngôn ngữ biến đổi để đảm bảo sự đa dạng về ngôn ngữ với Hugging Face trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Về số lượng bài báo trên Wikipedia, tiếng Thổ Nhĩ Kỳ là một ngôn ngữ khác trong cùng nhóm hơn 100,000 bài báo (thứ 28), cùng với tiếng Urdu (thứ 54). So với tiếng Urdu, tiếng Thổ Nhĩ Kỳ sẽ được coi là ngôn ngữ trung bình. Tiếng Thổ Nhĩ Kỳ có một số đặc điểm thú vị, có thể làm cho các mô hình ngôn ngữ trở nên mạnh mẽ hơn bằng cách tạo ra những thách thức nhất định trong ngôn ngữ học và mã hóa. Đó là một ngôn ngữ tổng kết. Nó có một trật tự từ rất tự do, một hình thái phức tạp hoặc các thì không có từ tương đương trong tiếng Anh. Các cụm từ được tạo thành từ một số từ trong các ngôn ngữ như tiếng Anh có thể được diễn đạt bằng một dạng từ duy nhất, như thể hiện trong ví dụ sau.

Tiếng Thổ Nhĩ Kỳ Tiếng Anh
con mèo Cát
con mèoler Cáts
con mèogiller Gia đình của mèo
kedigillerngày Thuộc về gia đình mèo
con mèoleştirebilileceklerimizdenmişçesineyken Khi có vẻ như cái đó là cái mà chúng ta có thể làm làm sao

Hai cách tiếp cận giải pháp chính là mô hình ngôn ngữ cụ thể hoặc mô hình đa ngôn ngữ (có hoặc không có giám sát đa ngôn ngữ):

  • Mô hình ngôn ngữ đơn ngữ - Cách tiếp cận đầu tiên là áp dụng một biến thể BERT cho một ngôn ngữ đích cụ thể. Dữ liệu đào tạo càng nhiều, hiệu suất mô hình càng tốt.
  • Các mô hình ngôn ngữ có mặt nạ đa ngôn ngữ - Cách tiếp cận khác là đào tạo trước các mô hình máy biến áp lớn trên nhiều ngôn ngữ. Mô hình ngôn ngữ đa ngôn ngữ nhằm giải quyết thách thức thiếu dữ liệu đối với các ngôn ngữ có nguồn tài nguyên thấp bằng cách đào tạo trước một số lượng lớn các ngôn ngữ để các nhiệm vụ NLP đã học từ một ngôn ngữ này có thể được chuyển sang các ngôn ngữ khác. Các mô hình ngôn ngữ được che giấu đa ngôn ngữ (MLM) đã thúc đẩy các nhiệm vụ hiểu biết đa ngôn ngữ trở nên tiên tiến nhất. Hai ví dụ là:
    • BERT đa ngôn ngữ - Mô hình BERT đa ngôn ngữ được đào tạo bằng 104 ngôn ngữ khác nhau bằng kho ngữ liệu Wikipedia. Tuy nhiên, nó đã được chứng minh rằng nó chỉ khái quát tốt trên các cấu trúc ngôn ngữ tương tự và các đặc điểm điển hình học (ví dụ, các ngôn ngữ có trật tự từ tương tự). Tính đa ngôn ngữ của nó bị giảm bớt đặc biệt là đối với các ngôn ngữ có các trật tự từ khác nhau (ví dụ, chủ ngữ / tân ngữ / động từ) [4].
    • XLM-R - Các mô hình đa ngôn ngữ (XLM) được đào tạo với mục tiêu đa ngôn ngữ sử dụng bộ dữ liệu song song (cùng một văn bản bằng hai ngôn ngữ khác nhau) hoặc không có mục tiêu đa ngôn ngữ sử dụng bộ dữ liệu đơn ngữ [6]. Nghiên cứu cho thấy rằng các ngôn ngữ có nguồn tài nguyên thấp được hưởng lợi từ việc mở rộng quy mô sang nhiều ngôn ngữ hơn. XLM-RoBERTa là một mô hình dựa trên máy biến áp được lấy cảm hứng từ RoBERTa [5] và xuất phát điểm của nó là đề xuất rằng BERT và XLM đa ngôn ngữ chưa được điều chỉnh. Nó được đào tạo trên 100 ngôn ngữ bằng cách sử dụng cả kho ngữ liệu Wikipedia và CommonCrawl, vì vậy lượng dữ liệu đào tạo cho các ngôn ngữ tài nguyên thấp lớn hơn khoảng hai bậc so với m-BERT [7].

Một thách thức khác của mô hình ngôn ngữ đa ngôn ngữ đối với các ngôn ngữ ít tài nguyên là kích thước từ vựng và mã hóa. Bởi vì tất cả các ngôn ngữ sử dụng cùng một từ vựng được chia sẻ trong các mô hình ngôn ngữ đa ngôn ngữ, có sự cân bằng giữa việc tăng kích thước từ vựng (điều này làm tăng yêu cầu tính toán) so với giảm nó (các từ không có trong từ vựng sẽ được đánh dấu là không xác định hoặc sử dụng các ký tự thay vì các từ vì mã thông báo sẽ bỏ qua bất kỳ cấu trúc nào). Thuật toán mã hóa từng đoạn kết hợp các lợi ích của cả hai cách tiếp cận. Ví dụ: nó xử lý hiệu quả các từ ngoài từ vựng bằng cách tách từ đó thành các từ phụ cho đến khi nó có trong từ vựng hoặc cho đến khi đạt đến ký tự riêng lẻ. Mã hóa dựa trên ký tự không hữu ích lắm ngoại trừ một số ngôn ngữ nhất định, chẳng hạn như tiếng Trung. Các kỹ thuật tồn tại để giải quyết các thách thức đối với các ngôn ngữ ít tài nguyên, chẳng hạn như lấy mẫu với một số bản phân phối nhất định [6].

Bảng sau đây mô tả cách ba loại bánh nướng nhỏ khác nhau ứng xử với từ “kedileri” (có nghĩa là “những con mèo của nó”). Đối với một số ngôn ngữ và nhiệm vụ NLP, điều này sẽ tạo ra sự khác biệt. Ví dụ: đối với nhiệm vụ trả lời câu hỏi, mô hình trả về khoảng thời gian của chỉ mục mã thông báo bắt đầu và chỉ mục mã thông báo kết thúc; trả về “kediler” (“mèo”) hoặc “kedileri” (“mèo của nó”) sẽ làm mất một số ngữ cảnh và dẫn đến các kết quả đánh giá khác nhau cho một số chỉ số nhất định.

Mô hình tiền chế Kích thước từ vựng Mã hóa cho “Kedileri” *
dbmdz / bert-base-turkish-unased 32,000 Tokens [CLS] những con mèo ##tôi [Tháng XNUMX]
ID đầu vào 2 23714 1023 3
bert-base-multilingual-unased 105,879 Tokens [CLS] ked ## iler ##tôi [Tháng XNUMX]
ID đầu vào 101 30210 33719 10116 102
deepset / xlm-roberta-base-Squad2 250,002 Tokens Ke di s
ID đầu vào 0 1345 428 1341 .
* Trong tiếng Anh: (Của nó) mèo

Do đó, mặc dù các ngôn ngữ có nguồn tài nguyên thấp được hưởng lợi từ các mô hình ngôn ngữ đa ngôn ngữ, việc thực hiện mã hóa trên một kho từ vựng được chia sẻ có thể bỏ qua một số đặc điểm ngôn ngữ cho một số ngôn ngữ nhất định.

Trong phần tiếp theo, chúng tôi so sánh ba cách tiếp cận bằng cách tinh chỉnh chúng cho một nhiệm vụ trả lời câu hỏi bằng cách sử dụng bộ dữ liệu QA cho tiếng Thổ Nhĩ Kỳ: BERTurk [8], BERT đa ngôn ngữ [4] và XLM-R [7].

Tổng quan về giải pháp

Quy trình làm việc của chúng tôi như sau:

  1. Chuẩn bị tập dữ liệu trong một Xưởng sản xuất Amazon SageMaker môi trường máy tính xách tay và tải nó lên Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3).
  2. Khởi chạy các công việc đào tạo song song trên SageMaker đào tạo vùng chứa học sâu bằng cách cung cấp tập lệnh tinh chỉnh.
  3. Thu thập siêu dữ liệu từ mỗi thử nghiệm.
  4. So sánh kết quả và xác định mô hình phù hợp nhất.

Sơ đồ sau minh họa kiến ​​trúc giải pháp.

Tinh chỉnh các mô hình ngôn ngữ biến đổi để đảm bảo sự đa dạng về ngôn ngữ với Hugging Face trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Để biết thêm thông tin về máy tính xách tay Studio, hãy tham khảo Đi sâu vào kiến ​​trúc Amazon SageMaker Studio Notebooks. Để biết thêm thông tin về cách Ôm Face được tích hợp với SageMaker, hãy tham khảo AWS và Khuôn mặt ôm hợp tác để đơn giản hóa và đẩy nhanh việc áp dụng các mô hình Xử lý ngôn ngữ tự nhiên.

Chuẩn bị tập dữ liệu

Thư viện tập dữ liệu khuôn mặt ôm cung cấp các phương pháp xử lý dữ liệu mạnh mẽ để nhanh chóng có được tập dữ liệu sẵn sàng cho việc đào tạo theo mô hình học sâu. Đoạn mã sau tải tập dữ liệu QA của Thổ Nhĩ Kỳ và khám phá những gì bên trong:

data_files = {}
data_files["train"] = 'data/train.json'
data_files["validation"] = 'data/val.json' ds = load_dataset("json", data_files=data_files) print("Number of features in dataset: n Train = {}, n Validation = {}".format(len(ds['train']), len(ds['validation'])))

Có khoảng 9,000 mẫu.

Tinh chỉnh các mô hình ngôn ngữ biến đổi để đảm bảo sự đa dạng về ngôn ngữ với Hugging Face trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tập dữ liệu đầu vào được chuyển đổi một chút thành định dạng được mong đợi bởi các mô hình được đào tạo trước và chứa các cột sau:

df = pd.DataFrame(ds['train'])
df.sample(1)

Tinh chỉnh các mô hình ngôn ngữ biến đổi để đảm bảo sự đa dạng về ngôn ngữ với Hugging Face trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
Bản dịch tiếng Anh của đầu ra như sau:

  • bối cảnh - Resit Emre Kongar (sinh ngày 13 tháng 1941 năm XNUMX, Istanbul), giáo sư, nhà xã hội học người Thổ Nhĩ Kỳ.
  • câu hỏi - Học hàm của Emre Kongar là gì?
  • trả lời - Giáo sư

Tinh chỉnh tập lệnh

Thư viện Người vận chuyển khuôn mặt ôm ấp cung cấp một mã ví dụ để tinh chỉnh một mô hình cho nhiệm vụ trả lời câu hỏi, được gọi là run_qa.py. Đoạn mã sau khởi chạy trình đào tạo:

 # Initialize our Trainer trainer = QuestionAnsweringTrainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, eval_examples=eval_examples, tokenizer=tokenizer, data_collator=data_collator, post_process_function=post_processing_function, compute_metrics=compute_metrics, )

Chúng ta hãy xem xét các khối xây dựng ở cấp độ cao.

mã thông báo

Tập lệnh tải một trình mã hóa bằng cách sử dụng AutoTokenizer lớp học. Các AutoTokenizer lớp sẽ trả về đúng tokenizer tương ứng với mô hình:

tokenizer = AutoTokenizer.from_pretrained( model_args.model_name_or_path, cache_dir=model_args.cache_dir, use_fast=True, revision=model_args.model_revision, use_auth_token=None, )

Sau đây là một ví dụ về cách thức hoạt động của tokenizer:

from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("deepset/xlm-roberta-base-squad2") input_ids = tokenizer.encode('İstanbulun en popüler hayvanı hangisidir? Kedileri', return_tensors="pt")
tokens = tokenizer('İstanbulun en popüler hayvanı hangisidir? Kedileri').tokens()

Tinh chỉnh các mô hình ngôn ngữ biến đổi để đảm bảo sự đa dạng về ngôn ngữ với Hugging Face trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Mô hình

Tập lệnh tải một mô hình. AutoModel các lớp học (ví dụ, AutoModelForQuestionAnswering) trực tiếp tạo một lớp với trọng số, cấu hình và từ vựng của kiến ​​trúc có liên quan với tên và đường dẫn đến mô hình được đào tạo trước. Nhờ sự trừu tượng của Khuôn mặt ôm, bạn có thể dễ dàng chuyển sang một kiểu máy khác bằng cách sử dụng cùng một mã, chỉ bằng cách cung cấp tên của kiểu đó. Xem mã ví dụ sau:

 model = AutoModelForQuestionAnswering.from_pretrained( model_args.model_name_or_path, config=config, cache_dir=model_args.cache_dir, revision=model_args.model_revision, )

Tiền chế biến và đào tạo

Sản phẩm prepare_train_features()prepare_validation_features() các phương pháp xử lý trước tập dữ liệu đào tạo và tập dữ liệu xác thực, tương ứng. Mã lặp qua tập dữ liệu đầu vào và xây dựng một chuỗi từ ngữ cảnh và câu hỏi hiện tại, với các ID loại mã thông báo mô hình cụ thể chính xác (biểu diễn số của mã thông báo) và mặt nạ chú ý. Trình tự sau đó được chuyển qua mô hình. Điều này tạo ra một loạt các điểm, cho cả vị trí bắt đầu và kết thúc, như được hiển thị trong bảng sau.

Nhập trường tập dữ liệu Các trường tập dữ liệu đào tạo được xử lý trước cho câu hỏi trả lời
id input_ids
tiêu đề chú ý_mặt nạ
bối cảnh vị trí bắt đầu
câu hỏi vị trí cuối
Câu trả lời {answer_start, answer_text} .

Đánh giá

Sản phẩm compute_metrics() phương pháp tính toán số liệu. Chúng tôi sử dụng các số liệu phổ biến sau cho các nhiệm vụ trả lời câu hỏi:

  • Kết hợp chuẩn xác - Đo lường tỷ lệ phần trăm dự đoán khớp chính xác với bất kỳ câu trả lời nào trong số các câu trả lời có sự thật.
  • Điểm F1 - Đo lường sự trùng lặp trung bình giữa dự đoán và câu trả lời đúng sự thật. Điểm F1 là trung bình hài hòa của độ chính xác và độ thu hồi:
    • Độ chính xác - Tỷ lệ giữa số từ được chia sẻ với tổng số từ trong dự đoán.
    • Nhớ lại - Tỷ lệ giữa số lượng từ được chia sẻ trên tổng số từ trong sự thật cơ bản.

Đào tạo được quản lý trên SageMaker

Việc thiết lập và quản lý môi trường máy học (ML) tùy chỉnh có thể tốn nhiều thời gian và công sức. Với Vùng chứa học tập sâu AWS (DLC) đối với thư viện Người vận chuyển khuôn mặt ôm, chúng tôi có quyền truy cập vào các khung học sâu được đóng gói sẵn và tối ưu hóa, giúp dễ dàng chạy tập lệnh của chúng tôi qua nhiều công việc đào tạo với mã bổ sung tối thiểu.

Chúng ta chỉ cần sử dụng Công cụ ước tính khuôn mặt ôm có sẵn trong SageMaker Python SDK với các đầu vào sau:

# Trial configuration
config['model'] = 'deepset/xlm-roberta-base-squad2'
config['instance_type'] = 'ml.p3.16xlarge'
config['instance_count'] = 2 # Define the distribution parameters in the HuggingFace Estimator config['distribution'] = {'smdistributed':{'dataparallel':{ 'enabled': True }}}
trial_configs.append(config) # We can specify a training script that is stored in a GitHub repository as the entry point for our Estimator, # so we don’t have to download the scripts locally.
git_config = {'repo': 'https://github.com/huggingface/transformers.git'} hyperparameters_qa={ 'model_name_or_path': config['model'], 'train_file': '/opt/ml/input/data/train/train.json', 'validation_file': '/opt/ml/input/data/val/val.json', 'do_train': True, 'do_eval': True, 'fp16': True, 'per_device_train_batch_size': 16, 'per_device_eval_batch_size': 16, 'num_train_epochs': 2, 'max_seq_length': 384, 'pad_to_max_length': True, 'doc_stride': 128, 'output_dir': '/opt/ml/model' } huggingface_estimator = HuggingFace(entry_point='run_qa.py', source_dir='./examples/pytorch/question-answering', git_config=git_config, instance_type=config['instance_type'], instance_count=config['instance_count'], role=role, transformers_version='4.12.3', pytorch_version='1.9.1', py_version='py38', distribution=config['distribution'], hyperparameters=hyperparameters_qa, metric_definitions=metric_definitions, enable_sagemaker_metrics=True,) nlp_training_job_name = f"NLPjob-{model}-{instance}-{int(time.time())}" training_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' test_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' huggingface_estimator.fit( inputs={'train': training_input_path, 'val': test_input_path}, job_name=nlp_training_job_name, experiment_config={ "ExperimentName": nlp_experiment.experiment_name, "TrialName": nlp_trial.trial_name, "TrialComponentDisplayName": nlp_trial.trial_name,}, wait=False, )

Đánh giá kết quả

Khi các công việc tinh chỉnh cho nhiệm vụ trả lời câu hỏi tiếng Thổ Nhĩ Kỳ hoàn tất, chúng tôi so sánh hiệu suất mô hình của ba cách tiếp cận:

  • Mô hình ngôn ngữ đơn ngữ - Mô hình được đào tạo trước được tinh chỉnh trên văn bản trả lời câu hỏi tiếng Thổ Nhĩ Kỳ được gọi là bert-base-turkish-không thiên vị [số 8]. Nó đạt được điểm F1 là 75.63 và điểm đối sánh chính xác là 56.17 chỉ trong hai kỷ nguyên và với 9,000 mặt hàng được dán nhãn. Tuy nhiên, cách tiếp cận này không phù hợp với ngôn ngữ ít tài nguyên khi không tồn tại mô hình ngôn ngữ được đào tạo trước hoặc có rất ít dữ liệu để đào tạo từ đầu.
  • Mô hình ngôn ngữ đa ngôn ngữ với BERT đa ngôn ngữ - Người mẫu được đào tạo trước được gọi là bert-base-multilingual-unased. Bài báo BERT đa ngôn ngữ [4] đã chỉ ra rằng nó khái quát tốt giữa các ngôn ngữ. So với mô hình đơn ngữ, nó hoạt động kém hơn (điểm F1 71.73, khớp chính xác 50:45), nhưng lưu ý rằng mô hình này xử lý hơn 100 ngôn ngữ khác, để lại ít không gian hơn để đại diện cho ngôn ngữ Thổ Nhĩ Kỳ.
  • Mô hình ngôn ngữ đa ngôn ngữ với XLM-R - Người mẫu được đào tạo trước được gọi là xlm-roberta-base-Squad2. Bài báo XLM-R cho thấy rằng có thể có một mô hình lớn duy nhất cho hơn 100 ngôn ngữ mà không làm giảm hiệu suất trên mỗi ngôn ngữ [7]. Đối với nhiệm vụ trả lời câu hỏi tiếng Thổ Nhĩ Kỳ, nó làm tốt hơn điểm BERT đa ngôn ngữ và BERT đơn ngữ F1 lần lượt là 5% và 2% (điểm F1 là 77.14, khớp chính xác 56.39).

Tinh chỉnh các mô hình ngôn ngữ biến đổi để đảm bảo sự đa dạng về ngôn ngữ với Hugging Face trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

So sánh của chúng tôi không tính đến những khác biệt khác giữa các mô hình như dung lượng mô hình, tập dữ liệu đào tạo được sử dụng, các tác vụ NLP được đào tạo trước, kích thước từ vựng hoặc mã hóa.

Các thử nghiệm bổ sung

Sổ tay được cung cấp chứa các ví dụ thí nghiệm bổ sung.

SageMaker cung cấp nhiều loại phiên bản đào tạo. Chúng tôi đã tinh chỉnh mô hình XLM-R trên p3.2xlarge (GPU: GPU Nvidia V100, kiến ​​trúc GPU: Volta (2017)), p3.16xlarge (GPU: 8 GPU Nvidia V100) và g4dn.xlarge (GPU: Nvidia T4 GPU, kiến ​​trúc GPU: Turing (2018)) và quan sát thấy những điều sau:

  • Thời gian đào tạo - Theo thử nghiệm của chúng tôi, mô hình XLM-R mất khoảng 24 phút để đào tạo trên p3.2xlarge và 30 phút trên g4dn.xlarge (lâu hơn khoảng 23%). Chúng tôi cũng thực hiện tinh chỉnh phân phối trên hai phiên bản p3.16xlarge và thời gian đào tạo giảm xuống còn 10 phút. Để biết thêm thông tin về đào tạo phân tán mô hình dựa trên máy biến áp trên SageMaker, hãy tham khảo Phân phối tinh chỉnh mô hình BERT Large cho Nhiệm vụ trả lời câu hỏi bằng cách sử dụng Người biến hình ôm mặt trên Amazon SageMaker.
  • Chi phí đào tạo - Chúng tôi đã sử dụng API định giá AWS để tìm nạp giá theo yêu cầu của SageMaker để tính toán nhanh. Theo thử nghiệm của chúng tôi, chi phí đào tạo khoảng 1.58 đô la trên p3.2xlarge và ít hơn khoảng bốn lần trên g4dn.xlarge (0.37 đô la). Đào tạo phân tán trên hai phiên bản p3.16xlarge sử dụng 16 GPU có giá 9.68 đô la.

Tóm lại, mặc dù g4dn.xlarge là máy ít tốn kém nhất, nhưng nó cũng mất thời gian đào tạo lâu hơn khoảng ba lần so với loại phiên bản mạnh nhất mà chúng tôi đã thử nghiệm (hai p3.16xlarge). Tùy thuộc vào mức độ ưu tiên dự án của bạn, bạn có thể chọn từ nhiều loại phiên bản đào tạo SageMaker.

Kết luận

Trong bài đăng này, chúng tôi đã khám phá cách tinh chỉnh các mô hình ngôn ngữ dựa trên máy biến áp được đào tạo trước cho nhiệm vụ trả lời câu hỏi cho ngôn ngữ trung nguồn (trong trường hợp này là tiếng Thổ Nhĩ Kỳ). Bạn có thể áp dụng phương pháp này cho hơn 100 ngôn ngữ khác bằng một mô hình duy nhất. Về văn bản, việc mở rộng một mô hình để bao gồm tất cả 7,000 ngôn ngữ trên thế giới vẫn còn bị cấm, nhưng lĩnh vực NLP mang lại cơ hội để mở rộng tầm nhìn của chúng ta.

Ngôn ngữ là phương thức giao tiếp chủ yếu của con người, là phương tiện truyền đạt các giá trị và chia sẻ vẻ đẹp của di sản văn hóa. Sự đa dạng ngôn ngữ tăng cường đối thoại giữa các nền văn hóa và xây dựng các xã hội hòa nhập.

ML là một quá trình có tính lặp lại cao; Trong quá trình của một dự án, các nhà khoa học dữ liệu đào tạo hàng trăm mô hình, bộ dữ liệu và tham số khác nhau để tìm kiếm độ chính xác tối đa. SageMaker cung cấp bộ công cụ hoàn chỉnh nhất để khai thác sức mạnh của ML và học sâu. Nó cho phép bạn tổ chức, theo dõi, so sánh và đánh giá các thử nghiệm ML trên quy mô lớn.

Hugging Face được tích hợp với SageMaker để giúp các nhà khoa học dữ liệu phát triển, đào tạo và điều chỉnh các mô hình NLP hiện đại nhanh chóng và dễ dàng hơn. Chúng tôi đã chứng minh một số lợi ích của việc sử dụng máy biến áp Mặt ôm trên Amazon SageMaker, chẳng hạn như đào tạo và thử nghiệm trên quy mô lớn, đồng thời tăng năng suất và hiệu quả chi phí.

Bạn có thể thử nghiệm các tác vụ NLP trên ngôn ngữ ưa thích của mình trong SageMaker ở tất cả các Khu vực AWS có SageMaker. Mã sổ tay mẫu có sẵn trong GitHub.

Để tìm hiểu cách Trình biên dịch đào tạo Amazon SageMaker có thể đẩy nhanh quá trình đào tạo các mô hình học sâu lên đến 50%, hãy xem Mới - Giới thiệu trình biên dịch đào tạo SageMaker.

Các tác giả muốn bày tỏ sự cảm kích sâu sắc nhất tới Mariano Kamp và Emily Webber vì đã xem xét các bản thảo và đưa ra lời khuyên.

dự án

  1. J. Devlin và cộng sự, “BERT: Đào tạo trước về Máy biến áp hai chiều sâu để hiểu ngôn ngữ”, (2018).
  2. A. Vaswani và cộng sự, “Sự chú ý là tất cả những gì bạn cần”, (2017).
  3. J. Howard và S. Ruder, “Tinh chỉnh mô hình ngôn ngữ phổ quát để phân loại văn bản”, (2018).
  4. T. Pires và cộng sự, “Multilingual BERT là gì?”, (2019).
  5. Y. Liu và cộng sự, “RoBERTa: Phương pháp tiếp cận tiền đào tạo BERT được tối ưu hóa mạnh mẽ”, (2019).
  6. G. Lample, và A. Conneau, “Đào tạo trước mô hình ngôn ngữ đa ngôn ngữ”, (2019).
  7. A. Conneau và cộng sự, “Học đại diện đa ngôn ngữ không giám sát trên quy mô”, (2019).
  8. Stefan Schweter. BERTurk - Các mô hình BERT cho Thổ Nhĩ Kỳ (2020).
  9. Thống kê Wiki đa ngôn ngữ https://en.wikipedia.org/wiki/Wikipedia:Multilingual_stosystem

Về các tác giả

Tinh chỉnh các mô hình ngôn ngữ biến đổi để đảm bảo sự đa dạng về ngôn ngữ với Hugging Face trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Arnav Khare là Kiến trúc sư Giải pháp Chính cho Dịch vụ Tài chính Toàn cầu tại AWS. Trọng tâm chính của anh ấy là giúp các Tổ chức Dịch vụ Tài chính xây dựng và thiết kế các ứng dụng Phân tích và Học máy trên đám mây. Arnav có bằng Thạc sĩ về Trí tuệ nhân tạo tại Đại học Edinburgh và có 18 năm kinh nghiệm trong ngành, từ các công ty khởi nghiệp nhỏ do ông sáng lập đến các doanh nghiệp lớn như Nokia và Bank of America. Ngoài công việc, Arnav thích dành thời gian cho hai cô con gái, tìm những quán cà phê độc lập mới, đọc sách và đi du lịch. Bạn có thể tìm thấy tôi trên LinkedIn và ở Surrey, Vương quốc Anh trong đời thực.

Tinh chỉnh các mô hình ngôn ngữ biến đổi để đảm bảo sự đa dạng về ngôn ngữ với Hugging Face trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Hasan-Basri AKIRMAK (Cử nhân và Thạc sĩ Kỹ thuật Máy tính và MBA Điều hành tại Trường Kinh doanh Sau đại học) là Kiến trúc sư Giải pháp Cấp cao tại Amazon Web Services. Ông là một nhà công nghệ kinh doanh tư vấn cho các khách hàng thuộc phân khúc doanh nghiệp. Lĩnh vực chuyên môn của anh ấy là thiết kế kiến ​​trúc và các trường hợp kinh doanh trên các hệ thống xử lý dữ liệu quy mô lớn và các giải pháp Máy học. Hasan đã cung cấp dịch vụ Phát triển Kinh doanh, Tích hợp Hệ thống, Quản lý Chương trình cho các khách hàng ở Châu Âu, Trung Đông và Châu Phi. Kể từ năm 2016, ông đã cố vấn cho hàng trăm doanh nhân tại các chương trình ươm tạo khởi nghiệp ủng hộ.

Tinh chỉnh các mô hình ngôn ngữ biến đổi để đảm bảo sự đa dạng về ngôn ngữ với Hugging Face trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Heiko Hotz là Kiến trúc sư giải pháp cao cấp về AI & Machine Learning và lãnh đạo cộng đồng Xử lý ngôn ngữ tự nhiên (NLP) trong AWS. Trước khi đảm nhiệm vai trò này, ông là Trưởng phòng Khoa học Dữ liệu của Dịch vụ Khách hàng EU của Amazon. Heiko giúp khách hàng của chúng tôi thành công trong hành trình AI / ML của họ trên AWS và đã làm việc với các tổ chức trong nhiều ngành, bao gồm Bảo hiểm, Dịch vụ tài chính, Truyền thông và Giải trí, Chăm sóc sức khỏe, Tiện ích và Sản xuất. Khi rảnh rỗi, Heiko đi du lịch nhiều nhất có thể.

Dấu thời gian:

Thêm từ Học máy AWS