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

Nút nguồn: 768164

Cũng giống như thị giác máy tính cách đây vài năm, lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) có tuổi đời hàng thập kỷ đang trải qua thời kỳ phục hưng hấp dẫn. Không một tháng nào trôi qua mà không có bước đột phá mới! Thật vậy, nhờ khả năng mở rộng và tiết kiệm chi phí của cơ sở hạ tầng dựa trên đám mây, các nhà nghiên cứu cuối cùng đã có thể đào tạo các mô hình học sâu phức tạp trên các tập dữ liệu văn bản rất lớn, nhằm giải quyết các vấn đề kinh doanh như trả lời câu hỏi, so sánh câu hoặc tóm tắt văn bản.

Về mặt này, Transformer kiến trúc học sâu đã được chứng minh là rất thành công và đã tạo ra một số họ mô hình nghệ thuật:

  • Biểu diễn bộ mã hóa hai chiều từ Transformers (BERT): 340 triệu tham số [1]
  • Bộ biến đổi chuyển văn bản thành văn bản (T5): hơn 10 tỷ thông số [2]
  • Generative Pre-Training (GPT): hơn 175 tỷ tham số [3]

Dù các mô hình này tuyệt vời như thế nào, việc đào tạo và tối ưu hóa chúng vẫn là một nỗ lực đầy thách thức, đòi hỏi một lượng thời gian, nguồn lực và kỹ năng đáng kể, đặc biệt là khi có sự tham gia của các ngôn ngữ khác nhau. Thật không may, sự phức tạp này ngăn cản hầu hết các tổ chức sử dụng các mô hình này một cách hiệu quả, nếu có. Thay vào đó, sẽ không tuyệt sao nếu chúng ta có thể bắt đầu từ các phiên bản được đào tạo trước và đưa chúng vào hoạt động ngay lập tức?

Đây chính xác là thử thách mà Ôm mặt đang giải quyết. Được thành lập vào năm 2016, công ty khởi nghiệp có trụ sở tại New York và Paris này giúp bạn dễ dàng thêm các mô hình Transformer hiện đại vào các ứng dụng của mình. Nhờ họ phổ biến transformers, tokenizersdatasets thư viện, bạn có thể tải xuống và dự đoán với hơn 7,000 mô hình được đào tạo trước bằng 164 ngôn ngữ. Ý tôi là gì bởi 'phổ biến'? Chà, với hơn 42,000 sao trên GitHub và 1 triệu lượt tải xuống mỗi tháng, transformers thư viện đã trở thành trên thực tế nơi dành cho các nhà phát triển và nhà khoa học dữ liệu để tìm các mô hình NLP.

Tại AWS, chúng tôi cũng đang nỗ lực dân chủ hóa công nghệ máy học để đưa công nghệ này đến tay mọi nhà phát triển, nhà khoa học dữ liệu và chuyên gia. Đặc biệt, hiện nay hàng vạn khách hàng đã sử dụng Amazon SageMaker, dịch vụ được quản lý hoàn toàn của chúng tôi dành cho máy học. Nhờ cơ sở hạ tầng được quản lý và khả năng máy học tiên tiến, khách hàng có thể xây dựng và chạy khối lượng công việc máy học của họ nhanh hơn bao giờ hết ở mọi quy mô. Khi việc áp dụng NLP phát triển, thì việc áp dụng các mô hình Hugging Face cũng tăng theo và khách hàng đã yêu cầu chúng tôi cung cấp một cách đơn giản hơn để đào tạo và tối ưu hóa chúng trên AWS.

Làm việc với Mô hình khuôn mặt ôm trên Amazon SageMaker

Hôm nay, chúng tôi vui mừng thông báo rằng giờ đây bạn có thể làm việc với các mẫu Ôm khuôn mặt trên Amazon SageMaker. Nhờ cái mới HuggingFace ước lượng trong SDK SageMaker, bạn có thể dễ dàng đào tạo, tinh chỉnh và tối ưu hóa các mô hình Hugging Face được tạo bằng TensorFlow và PyTorch. Điều này sẽ cực kỳ hữu ích cho những khách hàng quan tâm đến việc tùy chỉnh các mô hình Hugging Face để tăng độ chính xác cho ngôn ngữ theo miền cụ thể: dịch vụ tài chính, khoa học đời sống, truyền thông và giải trí, v.v.

Đây là một đoạn mã tinh chỉnh Chưng cấtBERT mô hình cho một kỷ nguyên duy nhất.

from sagemaker.huggingface import HuggingFace hf_estimator = HuggingFace( entry_point='train.py', pytorch_version = '1.6.0', transformers_version = '4.4', instance_type='ml.p3.2xlarge', instance_count=1, role=role, hyperparameters = { 'epochs': 1, 'train_batch_size': 32, 'model_name':'distilbert-base-uncased' } ) huggingface_estimator.fit({'train': training_input_path, 'test': test_input_path}) 

Như thường lệ trên SageMaker, train.py tập lệnh sử dụng Chế độ tập lệnh để truy xuất siêu tham số làm đối số dòng lệnh. Sau đó, nhờ transformers thư viện API, nó tải xuống mô hình Hugging Face thích hợp, định cấu hình công việc đào tạo và chạy nó với Trainer API. Đây là đoạn mã hiển thị các bước này.

from transformers import AutoModelForSequenceClassification, Trainer, TrainingArguments ... model = AutoModelForSequenceClassification.from_pretrained(args.model_name) training_args = TrainingArguments( output_dir=args.model_dir, num_train_epochs=args.epochs, per_device_train_batch_size=args.train_batch_size, per_device_eval_batch_size=args.eval_batch_size, warmup_steps=args.warmup_steps, evaluation_strategy="epoch", logging_dir=f"{args.output_data_dir}/logs", learning_rate=float(args.learning_rate) ) trainer = Trainer( model=model, args=training_args, compute_metrics=compute_metrics, train_dataset=train_dataset, eval_dataset=test_dataset ) trainer.train()

Như bạn có thể thấy, sự tích hợp này giúp đào tạo các mô hình NLP nâng cao dễ dàng và nhanh chóng hơn, ngay cả khi bạn không có nhiều chuyên môn về máy học.

Khách hàng đã sử dụng các mẫu Ôm mặt trên Amazon SageMaker. Ví dụ, Sức khỏe lượng tử đang thực hiện sứ mệnh làm cho việc điều hướng chăm sóc sức khỏe trở nên thông minh hơn, đơn giản hơn và tiết kiệm chi phí nhất cho mọi người. Nói Jorge Grisman, Nhà khoa học dữ liệu NLP tại Quantum Health: “chúng tôi sử dụng Hugging Face và Amazon SageMaker rất nhiều cho nhiều trường hợp sử dụng NLP như phân loại văn bản, tóm tắt văn bản và Hỏi & Đáp với mục tiêu trợ giúp các đại lý và thành viên của chúng tôi. Đối với một số trường hợp sử dụng, chúng tôi chỉ sử dụng trực tiếp các mô hình Hugging Face và đối với những trường hợp khác, chúng tôi tinh chỉnh chúng trên SageMaker. Chúng tôi rất vui mừng về việc tích hợp Hugging Face Transformers vào Amazon SageMaker để tận dụng các thư viện phân tán trong quá trình đào tạo nhằm rút ngắn thời gian đào tạo cho các bộ dữ liệu lớn hơn của chúng tôi".

khách hàng là một nền tảng CRM dịch vụ khách hàng để quản lý khối lượng hỗ trợ cao một cách dễ dàng. Nói Victor Peinado, Giám đốc Kỹ thuật Phần mềm ML tại Kustomer: “Kustomer là một nền tảng CRM dịch vụ khách hàng để quản lý khối lượng hỗ trợ cao một cách dễ dàng. Trong doanh nghiệp của mình, chúng tôi sử dụng các mô hình máy học để giúp khách hàng bối cảnh hóa các cuộc trò chuyện, loại bỏ các nhiệm vụ tốn thời gian và làm chệch hướng các câu hỏi lặp đi lặp lại. Chúng tôi sử dụng rộng rãi Hugging Face và Amazon SageMaker, đồng thời chúng tôi rất vui mừng về việc tích hợp Hugging Face Transformers vào SageMaker vì nó sẽ đơn giản hóa cách chúng tôi tinh chỉnh các mô hình máy học để phân loại văn bản và tìm kiếm ngữ nghĩa".

Đào tạo người mẫu ôm mặt ở quy mô lớn trên Amazon SageMaker

Như đã đề cập trước đó, bộ dữ liệu NLP có thể rất lớn, điều này có thể dẫn đến thời gian đào tạo rất dài. Để giúp bạn tăng tốc công việc đào tạo và tận dụng tối đa cơ sở hạ tầng AWS của mình, chúng tôi đã làm việc với Hugging Face để thêm Thư viện song song dữ liệu SageMaker đến transformers thư viện (chi tiết có sẵn trong Trainer tài liệu API).

Thêm một tham số vào của bạn HuggingFace công cụ ước tính là tất cả những gì cần thiết để kích hoạt tính song song dữ liệu, cho phép bạn Trainermã dựa trên sử dụng nó tự động.

huggingface_estimator = HuggingFace(. . . dis
tribution = {'smdistributed':{'dataparallel':{ 'enabled': True }}} )

Đó là nó. Trên thực tế, nhóm Hugging Face đã sử dụng khả năng này để tăng tốc quá trình thử nghiệm của họ lên hơn bốn lần!

Bắt đầu

Bạn có thể bắt đầu sử dụng các mẫu Ôm mặt trên Amazon SageMaker ngày nay, ở tất cả các Khu vực AWS nơi SageMaker khả dụng. sổ tay mẫu có sẵn trên GitHub. Để tận hưởng tính song song dữ liệu tự động, vui lòng đảm bảo sử dụng phiên bản 4.3.0 của transformers thư viện (hoặc mới hơn) trong tập lệnh đào tạo của bạn.

Hãy thử và cho chúng tôi biết suy nghĩ của bạn. Như mọi khi, chúng tôi mong nhận được phản hồi của bạn. Bạn có thể gửi nó đến các địa chỉ liên hệ Hỗ trợ AWS thông thường của mình hoặc trong Diễn đàn AWS dành cho SageMaker.

[1] "BERT: Đào tạo trước về Máy biến áp hai chiều sâu để hiểu ngôn ngữ“, Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova.
[2] "Khám phá các giới hạn của việc học chuyển giao với một máy biến đổi văn bản thành văn bản thống nhất“, Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, Peter J. Liu.
[3] "Cải thiện khả năng hiểu ngôn ngữ bằng cách đào tạo trước sáng tạo“, Alec Radford Karthik Narasimhan Tim Salimans Ilya Sutskever.


Lưu ý

Julien Simon là Người truyền bá trí tuệ nhân tạo & máy học cho EMEA. Anh ấy tập trung vào việc giúp các nhà phát triển và doanh nghiệp biến ý tưởng của họ thành hiện thực. Khi rảnh rỗi, anh ấy đọc đi đọc lại các tác phẩm của JRR Tolkien.

Nguồn: https://aws.amazon.com/blogs/machine-learning/aws-and-hugging-face-collaborate-to-simplify-and-accelerate-adoption-of-natural-lingu-processing-models/

Dấu thời gian:

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