Tăng tốc đào tạo mạng lưới thần kinh quy mô lớn trên CPU với ThirdAI và AWS Graviton | Dịch vụ web của Amazon

Tăng tốc đào tạo mạng lưới thần kinh quy mô lớn trên CPU với ThirdAI và AWS Graviton | Dịch vụ web của Amazon

Bài đăng này của khách được viết bởi Vihan Lakshman, Tharun Medini và Anshumali Shrivastava từ ThirdAI.

Học sâu quy mô lớn gần đây đã tạo ra những tiến bộ mang tính cách mạng trong nhiều lĩnh vực. Mặc dù tiến bộ đáng kinh ngạc này về trí tuệ nhân tạo vẫn còn đáng chú ý, nhưng chi phí tài chính và mức tiêu thụ năng lượng cần thiết để đào tạo các mô hình này đã nổi lên như một trở ngại nghiêm trọng do nhu cầu về phần cứng chuyên dụng như GPU. Theo truyền thống, ngay cả các mô hình thần kinh có kích thước khiêm tốn cũng yêu cầu các bộ tăng tốc phần cứng tốn kém để đào tạo, điều này hạn chế số lượng tổ chức có đủ nguồn tài chính để tận dụng tối đa công nghệ này.

Được thành lập vào năm 2021, ThirdAI Corp. là một công ty khởi nghiệp chuyên thực hiện sứ mệnh dân chủ hóa công nghệ trí tuệ nhân tạo thông qua những đổi mới về thuật toán và phần mềm nhằm thay đổi căn bản tính kinh tế của học sâu. Chúng tôi đã phát triển một công cụ học sâu thưa thớt, được gọi là BOLT, được thiết kế đặc biệt để đào tạo và triển khai các mô hình trên phần cứng CPU tiêu chuẩn thay vì các bộ tăng tốc tốn kém và tốn nhiều năng lượng như GPU. Nhiều khách hàng của chúng tôi có báo cáo sự hài lòng mạnh mẽ với khả năng của ThirdAI trong việc đào tạo và triển khai các mô hình deep learning cho các vấn đề kinh doanh quan trọng trên cơ sở hạ tầng CPU tiết kiệm chi phí.

Trong bài đăng này, chúng tôi điều tra tiềm năng của bộ xử lý AWS Graviton3 để tăng tốc quá trình đào tạo mạng thần kinh cho công cụ học sâu dựa trên CPU độc đáo của ThirdAI.

Lợi ích của CPU hiệu suất cao

Tại ThirdAI, chúng tôi đạt được những đột phá này trong việc đào tạo mạng nơ-ron hiệu quả trên CPU thông qua các thuật toán thưa thớt động độc quyền chỉ kích hoạt một tập hợp con nơ-ron cho một đầu vào nhất định (xem hình sau), từ đó loại bỏ nhu cầu tính toán dày đặc đầy đủ. Không giống như các phương pháp đào tạo mạng lưới thần kinh thưa thớt khác, ThirdAI sử dụng băm nhạy cảm với địa phương để chọn động các nơ-ron cho một đầu vào nhất định như được hiển thị trong các dòng in đậm bên dưới. Trong một số trường hợp nhất định, chúng tôi thậm chí còn quan sát thấy rằng mô hình dựa trên CPU thưa thớt đào tạo nhanh hơn kiến ​​trúc dày đặc tương đương trên GPU.

Kiến trúc nơ-ron dày đặc với các đường đậm cho biết nơ-ron nào được chọn

Do nhiều khách hàng mục tiêu của chúng tôi hoạt động trên đám mây—và trong số đó, phần lớn sử dụng AWS—chúng tôi rất hào hứng dùng thử bộ xử lý AWS Graviton3 để xem liệu những cải tiến ấn tượng về giá-hiệu suất của cải tiến silicon của Amazon có chuyển sang khối lượng công việc đặc biệt của chúng tôi hay không đào tạo mạng lưới thần kinh thưa thớt và do đó mang lại nhiều khoản tiết kiệm hơn cho khách hàng. Mặc dù cả cộng đồng nghiên cứu và nhóm AWS Graviton đều đã mang lại những tiến bộ thú vị trong việc tăng tốc suy luận mạng lưới thần kinh trên các phiên bản CPU, theo hiểu biết của chúng tôi, tại ThirdAI, chúng tôi là những người đầu tiên nghiên cứu nghiêm túc cách đào tạo các mô hình thần kinh trên CPU một cách hiệu quả.

Như được thể hiện trong kết quả của chúng tôi, chúng tôi đã nhận thấy tốc độ đào tạo với AWS Graviton3 tăng lên đáng kể so với các phiên bản Intel và NVIDIA tương đương trên một số khối lượng công việc lập mô hình đại diện.

Các loại phiên bản

Để đánh giá, chúng tôi đã xem xét hai phiên bản CPU AWS có thể so sánh được: một máy c6i.8xlarge được hỗ trợ bởi bộ xử lý Ice Lake của Intel và một máy c7g.8xlarge được cung cấp bởi AWS Graviton3. Bảng sau đây tóm tắt chi tiết của từng trường hợp.

Sơ thẩm vCPU RAM (GB) Bộ xử lý Giá theo yêu cầu (us-east-1)
c7g.8xlarge 32 64 AWS Graviton3 $ 1.1562 / giờ
c6i.8xlarge 32 64 Hồ băng Intel $ 1.36 / giờ
g5g.8xlarge (GPU) 32 64 với bộ nhớ GPU 16 GB Bộ xử lý AWS Graviton2 với 1 GPU NVIDIA T4G $ 1.3720 / giờ

Đánh giá 1: Phân loại cực đoan

Trong đánh giá đầu tiên, chúng tôi tập trung vào vấn đề phân loại cực kỳ đa nhãn (XMC), một mô hình học máy (ML) ngày càng phổ biến với một số ứng dụng thực tế trong tìm kiếm và đề xuất (bao gồm cả ở đàn bà gan dạ). Để đánh giá, chúng tôi tập trung vào công chúng Nhiệm vụ đề xuất sản phẩm Amazon-670K, với một sản phẩm đầu vào, xác định các sản phẩm tương tự từ bộ sưu tập hơn 670,000 mặt hàng.

Trong thử nghiệm này, chúng tôi so sánh công cụ BOLT của ThirdAI với TensorFlow 2.11 và PyTorch 2.0 trên các lựa chọn phần cứng nói trên: Intel Ice Lake, AWS Graviton3 và GPU NVIDIA T4G. Đối với các thử nghiệm của chúng tôi trên Intel và AWS Graviton, chúng tôi sử dụng AWS Deep Learning AMI (Ubuntu 18.04) phiên bản 59.0. Để đánh giá GPU, chúng tôi sử dụng NVIDIA Arm64 AMI được tối ưu hóa cho GPU, có sẵn thông qua AWS Marketplace. Để đánh giá này, chúng tôi sử dụng Kiến trúc mô hình TRƯỢT, đạt được cả hiệu suất cạnh tranh trong nhiệm vụ phân loại khắc nghiệt này lẫn hiệu suất huấn luyện mạnh mẽ trên CPU. Để so sánh TensorFlow và PyTorch, chúng tôi triển khai phiên bản tương tự của kiến ​​trúc perceptron nhiều lớp (MLP) SLIDE với các phép nhân ma trận dày đặc. Chúng tôi đào tạo mỗi mô hình trong năm kỷ nguyên (chuyển toàn bộ tập dữ liệu huấn luyện) với kích thước lô cố định là 256 và tốc độ học tập là 0.001. Chúng tôi quan sát thấy rằng tất cả các mô hình đều đạt được độ chính xác kiểm tra như nhau là 33.6%.

Biểu đồ sau đây so sánh thời gian đào tạo BOLT của ThirdAI với TensorFlow 2.11 và PyTorch 2.0 trên điểm chuẩn phân loại cực cao của Amazon670k. Tất cả các mẫu đều đạt được độ chính xác kiểm tra như nhau. Chúng tôi nhận thấy rằng AWS Graviton3 tăng tốc đáng kể hiệu suất của BOLT ngay từ đầu mà không cần tùy chỉnh—khoảng 40%. BOLT của ThirdAI trên AWS Graviton3 cũng đạt được tốc độ đào tạo nhanh hơn đáng kể so với các mô hình TensorFlow hoặc PyTorch được đào tạo trên GPU. Lưu ý rằng không có kết quả ThirdAI trên điểm chuẩn GPU NVIDIA vì BOLT được thiết kế để chạy trên CPU. Chúng tôi không bao gồm các điểm chuẩn CPU TensorFlow và PyTorch vì thời gian đào tạo quá dài.

Biểu đồ thanh thời gian đào tạo của Amazon 670k so sánh các phiên bản c6i.8xlarge và c7g.8xlarge

Bảng sau đây tóm tắt thời gian đào tạo và độ chính xác kiểm tra cho từng bộ xử lý/bộ xử lý chuyên dụng (GPU).

Bộ xử lý Động cơ Thời gian đào tạo (s) Kiểm tra độ chính xác
Hồ băng Intel (c6i.8xlarge) BOLT 1470 33.6
AWS Graviton3 (c7g.8xlarge) BOLT 935 33.6
NVIDIA T4G (g5g.8xlarge) TensorFlow 7550 33.6
NVIDIA T4G (g5g.8xlarge) Kim tự tháp 5130 33.6

Đánh giá 2: Phân tích tình cảm phân cực của Yelp

Đối với đánh giá thứ hai của chúng tôi, chúng tôi tập trung vào phổ biến Phân cực Yelp điểm chuẩn phân tích cảm tính, bao gồm việc phân loại đánh giá là tích cực hoặc tiêu cực. Để đánh giá này, chúng tôi so sánh ThirdAI Máy biến áp sâu đa năng (UDT) mô hình chống lại một tinh chỉnh Chưng cấtBERT network, một mô hình ngôn ngữ được đào tạo trước được nén để đạt được hiệu suất gần như hiện đại với độ trễ suy luận giảm. Vì việc tinh chỉnh các mô hình DistilBERT trên CPU sẽ mất rất nhiều thời gian (ít nhất là vài ngày), nên chúng tôi đánh giá các mô hình dựa trên CPU của ThirdAI so với các mô hình tinh chỉnh DistilBERT trên GPU. Chúng tôi đào tạo tất cả các mô hình có kích thước lô là 256 cho một lần truyền dữ liệu (một kỷ nguyên). Chúng tôi lưu ý rằng chúng tôi có thể đạt được độ chính xác cao hơn một chút với BOLT với các lần chuyển dữ liệu bổ sung, nhưng chúng tôi hạn chế chỉ thực hiện một lần vượt qua trong đánh giá này để đảm bảo tính nhất quán.

Như minh họa trong hình dưới đây, AWS Graviton3 một lần nữa tăng tốc đáng kể quá trình đào tạo mô hình UDT của ThirdAI. Hơn nữa, UDT có thể đạt được độ chính xác kiểm tra tương đương với DistilBERT với một khoảng thời gian đào tạo ngắn và không cần GPU. Chúng tôi lưu ý rằng cũng có công việc gần đây trong tối ưu hóa tinh chỉnh của Yelp Polarity trên CPU. Tuy nhiên, các mô hình của chúng tôi vẫn đạt được mức tăng hiệu quả cao hơn và tránh được chi phí đào tạo trước, điều này rất đáng kể và yêu cầu sử dụng các bộ tăng tốc phần cứng như GPU.

Thời gian đào tạo trên Yelp Polarity C7g vs c6i

Bảng sau đây tóm tắt thời gian đào tạo, độ chính xác của bài kiểm tra và độ trễ suy luận.

Bộ xử lý Động cơ Mô hình Thời gian đào tạo (s) Kiểm tra độ chính xác Độ trễ suy luận (ms)
Intel Icelake (c6i.8xlarge) BOLT UDT 47 93.2 <1
Graviton3 (c7g.8xlarge) BOLT UDT 29 92.9 <1
GPU T4G (g5g.8xlarge) TensorFlow Chưng cấtBERT 4200 93.3 8.7
GPU T4G (g5g.8xlarge) Kim tự tháp Chưng cấtBERT 3780 93.4 8.3

Đánh giá 3: Phân loại văn bản nhiều lớp (DBPedia)

Để đánh giá cuối cùng, chúng tôi tập trung vào vấn đề phân loại văn bản nhiều lớp, bao gồm việc gán nhãn cho văn bản đầu vào nhất định từ một tập hợp gồm nhiều hơn hai lớp đầu ra. Chúng tôi tập trung vào DBPedia điểm chuẩn, bao gồm 14 lớp đầu ra có thể. Một lần nữa, chúng tôi thấy rằng AWS Graviton3 tăng tốc hiệu suất UDT so với phiên bản Intel tương đương khoảng 40%. Chúng tôi cũng thấy rằng BOLT đạt được kết quả tương đương với mô hình dựa trên máy biến áp DistilBERT được tinh chỉnh trên GPU trong khi đạt được độ trễ dưới một phần nghìn giây.

Thời gian đào tạo ThirdAI BOLT trên c7g vs c6i

Bảng sau đây tóm tắt thời gian đào tạo, độ chính xác của bài kiểm tra và độ trễ suy luận.

Bộ xử lý Động cơ Mô hình Thời gian đào tạo (s) Kiểm tra độ chính xác Độ trễ suy luận (ms)
Intel Icelake (c6i.8xlarge) BOLT UDT 23 98.23 <1
Graviton3 (c7g.8xlarge) BOLT UDT 14 98.10 <1
GPU T4G (g5g.8xlarge) TensorFlow Chưng cấtBERT 4320 99.23 8.6
GPU T4G (g5g.8xlarge) Kim tự tháp Chưng cấtBERT 3480 99.29 8

Bắt đầu với ThirdAI trên AWS Graviton

Chúng tôi đã thiết kế phần mềm BOLT để tương thích với tất cả các kiến ​​trúc CPU chính, bao gồm cả AWS Graviton3. Trên thực tế, chúng tôi không phải thực hiện bất kỳ tùy chỉnh nào đối với mã của mình để chạy trên AWS Graviton3. Do đó, bạn có thể sử dụng ThirdAI để đào tạo và triển khai mô hình trên AWS Graviton3 mà không cần tốn thêm công sức. Ngoài ra, như chi tiết trong bài viết gần đây của chúng tôi báo cáo nghiên cứu, chúng tôi đã phát triển một tập hợp các kỹ thuật toán học mới để tự động điều chỉnh các siêu tham số chuyên dụng liên quan đến các mô hình thưa thớt của chúng tôi, cho phép các mô hình của chúng tôi hoạt động tốt ngay lập tức.

Chúng tôi cũng lưu ý rằng các mô hình của chúng tôi chủ yếu hoạt động tốt cho các tác vụ tìm kiếm, đề xuất và xử lý ngôn ngữ tự nhiên thường có không gian đầu ra lớn, nhiều chiều và yêu cầu độ trễ suy luận cực thấp. Chúng tôi đang tích cực nỗ lực mở rộng các phương pháp của mình sang các miền bổ sung, chẳng hạn như thị giác máy tính, nhưng lưu ý rằng những cải tiến về hiệu quả của chúng tôi không áp dụng được cho tất cả các miền ML tại thời điểm này.

Kết luận

Trong bài đăng này, chúng tôi đã nghiên cứu tiềm năng của bộ xử lý AWS Graviton3 để tăng tốc quá trình đào tạo mạng lưới thần kinh cho công cụ học sâu dựa trên CPU độc đáo của ThirdAI. Điểm chuẩn của chúng tôi về điểm chuẩn tìm kiếm, phân loại văn bản và đề xuất cho thấy AWS Graviton3 có thể tăng tốc khối lượng công việc đào tạo mô hình của ThirdAI lên 30–40% so với các phiên bản x86 tương đương với mức cải thiện hiệu suất giá gần 50%. Hơn nữa, vì các phiên bản AWS Graviton3 được cung cấp với mức chi phí thấp hơn so với các máy Intel và NVIDIA tương tự, đồng thời cho phép thời gian đào tạo và suy luận ngắn hơn nên bạn có thể khai thác thêm giá trị của mô hình sử dụng trả theo nhu cầu sử dụng của AWS bằng cách sử dụng các phiên bản có chi phí thấp hơn. máy trong khoảng thời gian ngắn hơn.

Chúng tôi rất vui mừng trước mức tiết kiệm về giá và hiệu suất của AWS Graviton3 và sẽ tìm cách chuyển những cải tiến này tới khách hàng của mình để họ có thể tận hưởng hoạt động đào tạo và suy luận ML nhanh hơn với hiệu suất được cải thiện trên các CPU chi phí thấp. Với tư cách là khách hàng của AWS, chúng tôi rất vui mừng trước tốc độ mà AWS Graviton3 cho phép chúng tôi thử nghiệm các mô hình của mình và chúng tôi mong muốn được sử dụng nhiều cải tiến silicon tiên tiến hơn từ AWS trong tương lai. Hướng dẫn kỹ thuật Graviton là một nguồn tài nguyên tốt để cân nhắc khi đánh giá khối lượng công việc ML của bạn để chạy trên Graviton. Bạn cũng có thể dùng thử phiên bản Graviton t4g dùng thử miễn phí.

Nội dung và ý kiến ​​trong bài đăng này là của tác giả bên thứ ba và AWS không chịu trách nhiệm về nội dung hoặc tính chính xác của bài đăng này. Tại thời điểm viết blog, phiên bản mới nhất là c6i và do đó việc so sánh được thực hiện với các phiên bản c6i.


Lưu ý

Vihan Lakshman – Vihan Lakshman là nhà khoa học nghiên cứu tại ThirdAI Corp. tập trung vào phát triển các hệ thống học sâu tiết kiệm tài nguyên. Trước ThirdAI, anh từng là Nhà khoa học ứng dụng tại Amazon và nhận bằng đại học và thạc sĩ tại Đại học Stanford. Vihan cũng là người nhận được học bổng nghiên cứu của Quỹ Khoa học Quốc gia.

Tharun Medini – Tharun Medini là người đồng sáng lập và CTO của ThirdAI Corp. Ông đã lấy bằng Tiến sĩ về “Thuật toán băm để tìm kiếm và truy xuất thông tin” tại Đại học Rice. Trước ThirdAI, Tharun đã làm việc tại Amazon và Target. Tharun là người nhận được nhiều giải thưởng cho nghiên cứu của mình, bao gồm Học bổng BP của Viện Ken Kennedy, Học bổng của Hiệp hội Kỹ sư Ấn Độ Hoa Kỳ và Học bổng Sau đại học của Đại học Rice.

Anshumali Shrivastava – Anshumali Shrivastava là phó giáo sư khoa khoa học máy tính tại Đại học Rice. Ông cũng là Người sáng lập và Giám đốc điều hành của ThirdAI Corp, một công ty đang dân chủ hóa AI thành phần cứng thông dụng thông qua đổi mới phần mềm. Mối quan tâm nghiên cứu rộng rãi của ông bao gồm các thuật toán xác suất để học sâu tiết kiệm tài nguyên. Năm 2018, tạp chí Science đã vinh danh anh là một trong 10 nhà khoa học dưới 40 tuổi đáng xem nhất. Anh là người nhận được Giải thưởng NGHỀ NGHIỆP của Quỹ Khoa học Quốc gia, Giải thưởng Điều tra viên Trẻ từ Văn phòng Nghiên cứu Khoa học của Không quân, giải thưởng nghiên cứu về máy học từ Amazon và Giải thưởng Nghiên cứu Khoa học Dữ liệu từ Adobe. Ông đã giành được nhiều giải thưởng về giấy, bao gồm Giải thưởng Giấy hay nhất tại NIPS 2014 và MLSys 2022, cũng như Giải thưởng Giấy có thể tái sản xuất nhiều nhất tại SIGMOD 2019. Công trình của ông về các công nghệ học máy hiệu quả trên CPU đã được báo chí nổi tiếng bao gồm Wall Street Journal đưa tin. Thời báo New York, TechCrunch, NDTV, v.v.

Dấu thời gian:

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