Hôm nay, chúng tôi công bố tính khả dụng công khai của công nghệ tiên tiến nhất của Amazon Mô hình giáo viên Alexa với 20 tỷ tham số (AlexaTM 20B) đến Khởi động Amazon SageMaker, trung tâm máy học của SageMaker. AlexaTM 20B là mô hình ngôn ngữ theo trình tự quy mô lớn (seq2seq) đa ngôn ngữ được phát triển bởi Amazon. Bạn có thể sử dụng AlexaTM 20B cho nhiều trường hợp sử dụng trong ngành, từ tóm tắt báo cáo tài chính đến trả lời câu hỏi cho chatbot dịch vụ khách hàng. Nó có thể được áp dụng ngay cả khi chỉ có một vài ví dụ đào tạo có sẵn, hoặc thậm chí không có ví dụ nào. AlexaTM 20B vượt trội 175 tỷ mẫu GPT-3 trên các nhiệm vụ học tập không cần chụp như SuperGLUE và hiển thị hiệu suất hiện đại cho các tác vụ không cần chụp đa ngôn ngữ như XNLI.
Trong bài đăng này, chúng tôi cung cấp tổng quan về cách triển khai và chạy suy luận với mô hình AlexaTM 20B theo chương trình thông qua API JumpStart, có sẵn trong SDK Python của SageMaker. Chúng tôi minh họa cách bạn có thể sử dụng mô hình này để dịch giữa nhiều ngôn ngữ, tóm tắt văn bản dạng dài, trả lời câu hỏi dựa trên ngữ cảnh nhất định và tạo văn bản có vẻ không thể phân biệt được với văn bản do con người viết.
AlexaTM 20B và học tập theo ngữ cảnh
Chương trình Mô hình giáo viên Alexa (AlexaTM) của Amazon Alexa AI được thiết kế để xây dựng các mô hình học sâu đa ngôn ngữ, quy mô lớn (chủ yếu dựa trên Transformer), nhằm cải thiện khả năng khái quát hóa và xử lý sự khan hiếm dữ liệu cho các nhiệm vụ tiếp theo. Với quá trình đào tạo trước quy mô lớn, các mô hình dành cho giáo viên có thể khái quát hóa tốt để tìm hiểu các tác vụ mới từ dữ liệu thưa thớt và giúp các nhà phát triển cải thiện hiệu suất đối với các tác vụ tiếp theo. AlexaTM 20B đã hiển thị hiệu suất cạnh tranh về các tiêu chuẩn và tác vụ xử lý ngôn ngữ tự nhiên (NLP) phổ biến, chẳng hạn như dịch máy, tạo và tóm tắt dữ liệu.
Việc sử dụng các mô hình nền tảng như AlexaTM 20B giúp giảm nhu cầu đào tạo trước mô hình đắt tiền và cung cấp điểm khởi đầu tiên tiến nhất để phát triển các mô hình nhiệm vụ với ít nỗ lực hơn và ít dữ liệu đào tạo dành riêng cho nhiệm vụ hơn. Một trong những khả năng chính của các mô hình nền tảng là chúng ta có thể dạy một mô hình thực hiện các tác vụ mới chẳng hạn như đặt câu hỏi và trả lời bằng các ngôn ngữ khác nhau, với số lượng ví dụ đầu vào rất nhỏ và không cần tinh chỉnh hoặc cập nhật độ dốc. Điều này được gọi là học trong ngữ cảnh. Chỉ với một vài ví dụ về nhiệm vụ mới được cung cấp làm ngữ cảnh để suy luận, mô hình AlexaTM 20B có thể truyền kiến thức từ những gì đã học được trong quá trình đào tạo trước quy mô lớn, thậm chí trên nhiều ngôn ngữ. cái này gọi là học vài lần. Trong một số trường hợp, mô hình có thể hoạt động tốt mà không cần bất kỳ dữ liệu huấn luyện nào, chỉ với lời giải thích về những gì nên dự đoán. cái này gọi là học không bắn. Ví dụ: giả sử chúng ta đang sử dụng AlexaTM 20B để tạo ngôn ngữ tự nhiên một lần. Đầu vào được chuyển đến mô hình là ví dụ huấn luyện ở dạng các cặp thuộc tính-giá trị, cùng với tường thuật văn bản đầu ra tương ứng của nó. Ví dụ thử nghiệm sau đó được thêm vào để tạo thành dấu nhắc đầu vào đầy đủ, như thể hiện trong hình dưới đây.
Để tìm hiểu thêm về mô hình, hãy xem Mô hình Alexa tham số 20B đặt dấu ấn mới trong quá trình học vài lần hoặc bản gốc giấy.
Việc sử dụng AlexaTM 20B được cung cấp cho mục đích sử dụng phi thương mại và được bảo vệ theo Thỏa thuận cấp phép mô hình giáo viên Alexa.
Tổng quan về giải pháp
Các phần sau đây cung cấp bản trình diễn từng bước về cách triển khai mô hình, chạy suy luận và thực hiện học theo ngữ cảnh để giải quyết các nhiệm vụ học ít lần.
Lưu ý rằng phần sau chứa các đoạn mã; mã đầy đủ với tất cả các bước trong bản trình diễn này có sẵn trong sổ ghi chép đi kèm: Học theo ngữ cảnh với AlexaTM 20B trong SageMaker JumpStart.
Triển khai mô hình
Để sử dụng mô hình ngôn ngữ lớn trong SageMaker, bạn cần có tập lệnh suy luận dành riêng cho mô hình, bao gồm các bước như tải mô hình, song song hóa, v.v. Bạn cũng cần tạo các thử nghiệm đầu cuối cho các tập lệnh, mô hình và các loại phiên bản mong muốn để xác thực rằng cả ba có thể hoạt động cùng nhau. JumpStart loại bỏ nỗ lực này bằng cách cung cấp các tập lệnh sẵn sàng sử dụng đã được thử nghiệm mạnh mẽ.
SageMaker cung cấp cho bạn khả năng chạy rộng rãi bộ chứa Docker để đào tạo và suy luận. JumpStart sử dụng các khung cụ thể có sẵn này Bộ chứa học sâu SageMaker (DLC). Chúng tôi bắt đầu bằng cách tìm nạp DLC được tối ưu hóa (deploy_image_uri
) sử dụng model_id
. Sau đó, chúng tôi lấy model_uri
chứa các tham số mô hình, cùng với các tập lệnh xử lý suy luận và mọi phụ thuộc liên quan. Tiếp theo, chúng ta tạo một ví dụ mô hình trong SageMaker và triển khai nó đến điểm cuối thời gian thực. Xem đoạn mã sau:
Việc triển khai AlexaTM 20B yêu cầu phiên bản được GPU hỗ trợ với bộ nhớ CPU tối thiểu 50 GB và bộ nhớ GPU tối thiểu 42 GB. SageMaker cung cấp nhiều trường hợp hỗ trợ suy luận thời gian thực. Chúng tôi đã thử nghiệm giải pháp này trên ba phiên bản: ml.g4dn.12xlarge, ml.p3.8xlarge, ml.p3.16xlarge. Xem đoạn mã sau:
Tiếp theo, chúng tôi triển khai mô hình tới điểm cuối thời gian thực SageMaker:
AlexaTM 20B yêu cầu 40 GB dung lượng ổ đĩa trong vùng chứa suy luận. Phiên bản ml.g4dn.12xlarge đáp ứng yêu cầu này. Đối với các loại ví dụ ml.p3.8xlarge và ml.p3.16xlarge, chúng tôi đính kèm một Cửa hàng đàn hồi Amazon (Amazon EBS) để xử lý kích thước mô hình lớn. Vì vậy, chúng tôi đặt volume_size = None
khi triển khai trên ml.g4dn.12xlarge và volume_size=256
khi triển khai trên ml.p3.8xlarge hoặc ml.p3.16xlarge.
Việc triển khai mô hình có thể mất tới 10 phút. Sau khi mô hình được triển khai, chúng tôi có thể nhận dự đoán từ mô hình đó trong thời gian thực!
Chạy suy luận
AlexaTM 20B là một mô hình tạo văn bản, được cung cấp một phần trình tự (một câu hoặc đoạn văn bản), sẽ tạo ra tập hợp các từ tiếp theo. Đoạn mã sau cung cấp cho bạn thông tin sơ lược về cách truy vấn điểm cuối mà chúng tôi đã triển khai và phân tích cú pháp đầu ra cho tác vụ tự động hoàn thành. Để gửi yêu cầu đến một mô hình đã triển khai, chúng tôi sử dụng từ điển JSON được mã hóa ở định dạng UTF-8. Phản hồi điểm cuối là một đối tượng JSON chứa danh sách các văn bản được tạo.
Tiếp theo, chúng tôi truy vấn điểm cuối và phân tích cú pháp phản hồi trên văn bản đầu vào mẫu:
AlexaTM 20B hiện hỗ trợ 10 tham số tạo văn bản trong quá trình suy luận: max_length
, num_return_sequences
, num_beams
, no_repeat_ngram_size
, temperature
, early_stopping
, do_sample
, top_k
, top_p
và seed
. Để biết thông tin chi tiết về các giá trị hợp lệ cho từng tham số và tác động của chúng đối với đầu ra, hãy xem sổ ghi chép đi kèm: Học theo ngữ cảnh với AlexaTM 20B trong SageMaker JumpStart.
Học trong ngữ cảnh
Học theo ngữ cảnh đề cập đến những điều sau: chúng tôi cung cấp cho mô hình ngôn ngữ một lời nhắc, bao gồm các cặp đầu vào-đầu ra đào tạo thể hiện nhiệm vụ. Chúng tôi thêm đầu vào kiểm tra vào lời nhắc và cho phép mô hình ngôn ngữ đưa ra dự đoán bằng cách điều kiện hóa lời nhắc và dự đoán các mã thông báo hoặc từ tiếp theo. Đây là một kỹ thuật hiệu quả cao để giải quyết một vài vấn đề về shot-learning, trong đó chúng ta học một nhiệm vụ từ một vài mẫu huấn luyện.
Tiếp theo, chúng tôi trình bày cách bạn có thể sử dụng AlexaTM 20B cho một số tác vụ 1 lần và 20 lần thông qua học theo ngữ cảnh. Không giống như các mô hình nối tiếp theo trình tự trước đây, AlexaTM XNUMXB đã được đào tạo về mô hình hóa ngôn ngữ nhân quả bên cạnh khử nhiễu, điều này làm cho nó trở thành một mô hình tốt cho việc học theo ngữ cảnh.
Tóm tắt văn bản 1 lần
Tóm tắt văn bản là nhiệm vụ rút ngắn dữ liệu và tạo một bản tóm tắt đại diện cho thông tin quan trọng nhất có trong văn bản gốc. Tóm tắt văn bản 1 lần đề cập đến cài đặt nơi chúng tôi học cách tóm tắt văn bản dựa trên một mẫu đào tạo duy nhất. Đoạn mã sau đây là một mẫu tóm tắt văn bản từ Bộ dữ liệu XSUM:
Chúng tôi sử dụng lời nhắc sau để tóm tắt khi chỉ có một mẫu đào tạo được cung cấp. Văn bản được tạo ra từ mô hình được hiểu là phần tóm tắt dự đoán của bài báo thử nghiệm.
Kết quả như sau:
Tạo ngôn ngữ tự nhiên 1 lần
Tạo ngôn ngữ tự nhiên là nhiệm vụ tạo ra các câu chuyện văn bản dựa trên văn bản đầu vào. Mẫu sau đây cho thấy một mẫu đào tạo từ tập dữ liệu E2E:
Chúng tôi sử dụng lời nhắc sau để tạo ngôn ngữ tự nhiên khi chỉ cung cấp một mẫu đào tạo (1 lần). Văn bản được tạo từ mô hình được hiểu là tường thuật văn bản dự đoán cho đầu vào thử nghiệm (test_inp
).
Kết quả như sau:
Dịch máy 1 lần
Dịch máy là nhiệm vụ dịch văn bản từ ngôn ngữ này sang ngôn ngữ khác. Ví dụ sau đây cho thấy một mẫu đào tạo từ bộ dữ liệu WMT19 trong đó chúng ta cần dịch từ tiếng Đức sang tiếng Anh:
Chúng tôi sử dụng lời nhắc sau để dịch máy khi chỉ cung cấp một mẫu đào tạo (1 lần). Văn bản được tạo từ mô hình được hiểu là bản dịch của đầu vào thử nghiệm (test_inp
).
Kết quả như sau:
Trả lời câu hỏi khai thác Zero-shot
Trả lời câu hỏi khai thác là nhiệm vụ tìm câu trả lời cho một câu hỏi từ đoạn ngữ cảnh. Sau đây là một ví dụ về một bối cảnh và một câu hỏi từ Bộ dữ liệu SQuAD v2:
Lưu ý rằng chúng tôi không có bất kỳ mẫu đào tạo nào cho nhiệm vụ của mình. Thay vào đó, chúng tôi tạo một câu hỏi giả về từ cuối cùng trong lời nhắc, dựa trên test_context
(bắn giả). Do đó, chúng tôi thực sự đang thực hiện trả lời câu hỏi khai thác bằng không.
Chúng tôi sử dụng lời nhắc sau để trả lời câu hỏi khai thác khi không có mẫu đào tạo nào được cung cấp. Văn bản được tạo ra từ mô hình được hiểu là câu trả lời cho câu hỏi kiểm tra.
Kết quả như sau:
Kỹ thuật nhanh chóng
Kỹ thuật nhanh chóng đôi khi có thể là một nghệ thuật. Ngay cả những thay đổi nhỏ đối với mẫu lời nhắc cũng có thể dẫn đến những thay đổi đáng kể đối với hiệu suất của mô hình đối với một tác vụ cụ thể. Sau đây là một số lời khuyên để viết các mẫu lời nhắc tốt. Đầu tiên, điều quan trọng cần nhớ là mô hình đã được đào tạo để tìm hiểu cấu trúc của câu thực (mô hình ngôn ngữ nhân quả). Vì vậy, tốt nhất bạn nên đảm bảo rằng mẫu lời nhắc của mình đúng về mặt ngữ pháp và cấu trúc trong ngôn ngữ tự nhiên. Thứ hai, mô hình cụ thể này được hưởng lợi từ các bức ảnh giả để giúp dạy cho nó cấu trúc mong đợi trong câu trả lời, như đã trình bày ở trên. Thứ ba, bạn nên kiểm tra hiệu suất nhiệm vụ trên nhiều mẫu lời nhắc ứng viên khác nhau. nguồn nhắc và hướng dẫn tự nhiên là hai khung nguồn mở để chuẩn hóa các mẫu lời nhắc và chúng cung cấp nhiều lời nhắc ví dụ khác nhau được sử dụng cho các tác vụ lập mô hình hiện có. Ngoài ra, Phụ lục B của Giấy AlexaTM 20B cung cấp các mẫu lời nhắc được sử dụng để tạo ra các kết quả được trình bày trong bài báo. Có một trường phụ đang phát triển dành riêng cho việc tạo và học tự động các lời nhắc tốt nhất cho một nhiệm vụ, bao gồm cả ngôn ngữ tự nhiên và lời nhắc liên tục. Điều này nằm ngoài phạm vi của hướng dẫn này.
Kết luận
Trong bài đăng này, chúng tôi đã trình bày cách triển khai mô hình AlexaTM 20B trên điểm cuối SageMaker và chạy suy luận. Bạn có thể sử dụng mô hình AlexaTM 20B để học theo ngữ cảnh cho nhiều nhiệm vụ học tập ngắn hạn. Để tìm hiểu thêm về AlexaTM 20B, hãy tham khảo Mô hình Alexa tham số 20B đặt dấu ấn mới trong quá trình học vài lần hoặc bản gốc giấy.
Các tác giả muốn ghi nhận những đóng góp kỹ thuật của Maciej Rudnicki, Jakub Debski, Ashish Khetan, Anastasiia Dubinina, Vitaliy Korolev, Karl Albertsen, Saleh Soltan và Mariusz Momotko để có thể thực hiện được vụ phóng này.
Giới thiệu về Khởi động
JumpStart là trung tâm máy học (ML) của Amazon SageMaker cung cấp hơn 350 mô hình được đào tạo trước, thuật toán tích hợp và mẫu giải pháp dựng sẵn để giúp bạn nhanh chóng bắt đầu với ML. JumpStart lưu trữ các mô hình tiên tiến nhất từ các trung tâm mô hình phổ biến như TensorFlow, PyTorch, Hugging Face và MXNet, hỗ trợ các tác vụ ML phổ biến như phát hiện đối tượng, phân loại văn bản và tạo văn bản. Cộng đồng nghiên cứu ML đã nỗ lực rất nhiều để cung cấp công khai phần lớn các mô hình được phát triển gần đây. JumpStart nhằm mục đích giúp bạn tìm đúng mô hình ML và thuật toán, đồng thời bắt đầu xây dựng mô hình ngay lập tức. Cụ thể, JumpStart cung cấp các lợi ích sau:
- Dễ dàng truy cập với giao diện người dùng và SDK – Bạn có thể truy cập các mô hình và thuật toán trong JumpStart theo cách lập trình bằng cách sử dụng SageMaker Python SDK hoặc thông qua giao diện người dùng JumpStart trong Amazon SageMaker Studio. Hiện tại, AlexaTM 20B chỉ có thể truy cập được thông qua SageMaker Python SDK.
- Các thuật toán tích hợp sẵn của SageMaker – JumpStart cung cấp hơn 350 thuật toán tích hợp sẵn và các mô hình được đào tạo trước, cùng với các tập lệnh đào tạo tương ứng (nếu được hỗ trợ), các tập lệnh suy luận và sổ ghi chép ví dụ. Các tập lệnh được tối ưu hóa cho từng khung và tác vụ, đồng thời cung cấp các tính năng như hỗ trợ GPU, điều chỉnh mô hình tự động và đào tạo gia tăng. Các tập lệnh cũng được kiểm tra đối với các phiên bản và tính năng của SageMaker để bạn không gặp phải các vấn đề về tính tương thích.
- Các giải pháp dựng sẵn – JumpStart cung cấp một bộ gồm 23 giải pháp cho các trường hợp sử dụng ML phổ biến, chẳng hạn như dự báo nhu cầu và các ứng dụng công nghiệp và tài chính, mà bạn có thể triển khai chỉ bằng vài cú nhấp chuột. Giải pháp là các ứng dụng ML toàn diện kết hợp các dịch vụ AWS khác nhau để giải quyết một trường hợp sử dụng kinh doanh cụ thể. Chúng sử dụng các mẫu AWS CloudFormation và kiến trúc tham chiếu để triển khai nhanh chóng, nghĩa là chúng hoàn toàn có thể tùy chỉnh.
- Hỗ trợ – SageMaker cung cấp một loạt hỗ trợ, chẳng hạn như duy trì các phiên bản cập nhật khi các tính năng mới của SageMaker hoặc phiên bản Deep Learning Container được phát hành và tạo tài liệu về cách sử dụng nội dung JumpStart trong môi trường SageMaker.
Để tìm hiểu thêm về JumpStart và cách bạn có thể sử dụng các mô hình mã nguồn mở được đào tạo trước cho nhiều tác vụ ML khác, hãy xem phần sau Video AWS re: Invent 2020.
Về các tác giả
Tiến sĩ Vivek Madan là một Nhà Khoa học Ứng dụng của nhóm Amazon SageMaker JumpStart. Ông lấy bằng Tiến sĩ tại Đại học Illinois tại Urbana-Champaign và là Nhà nghiên cứu Sau Tiến sĩ tại Georgia Tech. Anh ấy là một nhà nghiên cứu tích cực về học máy và thiết kế thuật toán và đã xuất bản các bài báo trong các hội nghị EMNLP, ICLR, COLT, FOCS và SODA.
Jack FitzGerald là một nhà khoa học ứng dụng cao cấp của Alexa AI, nơi anh ấy hiện đang tập trung vào mô hình hóa ngôn ngữ lớn, mô hình hóa văn bản đa ngôn ngữ và các hoạt động học máy.
João Moura là Kiến trúc sư Giải pháp Chuyên gia về AI / ML tại Amazon Web Services. Ông chủ yếu tập trung vào các trường hợp sử dụng NLP và giúp khách hàng tối ưu hóa việc đào tạo và triển khai mô hình học sâu. Ông cũng là người tích cực đề xuất các giải pháp ML mã thấp và phần cứng chuyên dụng ML.
tháng sáu thắng là người quản lý sản phẩm với SageMaker JumpStart và Thuật toán tích hợp. Anh ấy tập trung vào việc làm cho nội dung ML có thể dễ dàng khám phá và sử dụng được cho khách hàng của SageMaker.
Pulkit Kapur là người dẫn đầu sản phẩm cho chương trình Mô hình giáo viên Alexa với Alexa AI, tập trung vào trí thông minh tổng quát và các ứng dụng của các mô hình nền tảng đa phương thức đa nhiệm của Alexa.
- AI
- nghệ thuật ai
- máy phát điện nghệ thuật ai
- ai rô bốt
- Amazon SageMaker
- Khởi động Amazon SageMaker
- trí tuệ nhân tạo
- chứng nhận trí tuệ nhân tạo
- trí tuệ nhân tạo trong ngân hàng
- robot trí tuệ nhân tạo
- robot trí tuệ nhân tạo
- phần mềm trí tuệ nhân tạo
- Học máy AWS
- blockchain
- hội nghị blockchain ai
- thiên tài
- trí tuệ nhân tạo đàm thoại
- hội nghị tiền điện tử ai
- dall's
- học kĩ càng
- Nền tảng (100)
- google ai
- học máy
- plato
- Plato ai
- Thông tin dữ liệu Plato
- Trò chơi Plato
- PlatoDữ liệu
- Platogaming
- quy mô ai
- cú pháp
- zephyrnet