Giảm thời gian và chi phí đào tạo deep learning với Trình soạn thảo khảm ML trên AWS PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Giảm thời gian và chi phí đào tạo deep learning với Trình soạn thảo khảm ML trên AWS

Trong thập kỷ qua, chúng ta đã chứng kiến Khoa học học sâu (DL) được khách hàng AWS áp dụng với tốc độ chóng mặt. Các tham số phong phú và được đào tạo chung của các mô hình DL có khả năng biểu diễn lớn mang lại sự cải thiện trong nhiều trường hợp sử dụng của khách hàng, bao gồm phân tích hình ảnh và giọng nói, xử lý ngôn ngữ tự nhiên (NLP), xử lý chuỗi thời gian, v.v. Trong bài đăng này, chúng tôi nêu bật những thách thức thường được báo cáo cụ thể trong đào tạo DL và cách thư viện nguồn mở Trình soạn thảo khảmML giúp giải quyết chúng.

Thử thách với đào tạo DL

Các mô hình DL được huấn luyện lặp đi lặp lại trong một vòng lặp lồng nhau. Một vòng lặp lặp lại từng đoạn trong tập dữ liệu huấn luyện và nếu cần, vòng lặp này được lặp lại nhiều lần trên toàn bộ tập dữ liệu. Những người thực hành ML làm việc về đào tạo DL phải đối mặt với một số thách thức:

  • Thời gian đào tạo tăng theo kích thước dữ liệu. Với các tập dữ liệu ngày càng phát triển, thời gian và chi phí đào tạo cũng tăng lên, đồng thời nhịp độ khám phá khoa học chậm lại.
  • Các tập lệnh DL thường yêu cầu mã soạn sẵn, đặc biệt là cấu trúc vòng lặp kép đã nói ở trên để chia tập dữ liệu thành các lô nhỏ và đào tạo thành các kỷ nguyên.
  • Nghịch lý của sự lựa chọn: một số tài liệu và thư viện tối ưu hóa đào tạo đã được xuất bản nhưng vẫn chưa rõ nên kiểm tra cái nào trước và cách kết hợp các tác động của chúng.

Trong vài năm qua, một số thư viện nguồn mở như Máy ảnh, Tia chớp PyTorch, Người vận chuyển khuôn mặt ômTàu Ray đã cố gắng làm cho việc đào tạo DL trở nên dễ tiếp cận hơn, đặc biệt là bằng cách giảm độ dài của mã, từ đó đơn giản hóa cách lập trình mạng lưới thần kinh. Hầu hết các thư viện đó đều tập trung vào trải nghiệm của nhà phát triển và tính gọn nhẹ của mã.

Trong bài đăng này, chúng tôi giới thiệu một thư viện nguồn mở mới có quan điểm khác về đào tạo DL: Trình soạn thảo khảmML là một thư viện tập trung vào tốc độ với mục tiêu chính là làm cho các tập lệnh đào tạo mạng thần kinh nhanh hơn thông qua đổi mới thuật toán. Trong thế giới DL đám mây, việc tập trung vào tốc độ là điều khôn ngoan vì cơ sở hạ tầng điện toán thường được trả tiền cho mỗi lần sử dụng—thậm chí đến từng giây trên Đào tạo Amazon SageMaker—và những cải thiện về tốc độ có thể giúp tiết kiệm tiền.

Trong lịch sử, việc tăng tốc độ đào tạo DL chủ yếu được thực hiện bằng cách tăng số lượng máy lặp lại mô hình tính toán song song, một kỹ thuật được gọi là dữ liệu song song. Mặc dù song song dữ liệu đôi khi tăng tốc quá trình huấn luyện (không được đảm bảo vì nó cản trở sự hội tụ, như được nhấn mạnh trong Goyal và cộng sự.), nó không làm giảm chi phí công việc tổng thể. Trong thực tế, nó có xu hướng tăng lên do chi phí liên lạc giữa các máy và chi phí đơn vị máy cao hơn vì các máy DL phân tán được trang bị mạng cao cấp và kết nối GPU trong máy chủ.

Mặc dù MossML Composer hỗ trợ song song dữ liệu nhưng triết lý cốt lõi của nó khác với phong trào song song dữ liệu. Mục tiêu của nó là đẩy nhanh quá trình đào tạo mà không cần nhiều máy móc hơn bằng cách đổi mới ở cấp độ triển khai khoa học. Do đó, mục tiêu của nó là tiết kiệm thời gian, giúp tiết kiệm chi phí nhờ cơ cấu phí trả cho mỗi lần sử dụng của AWS.

Giới thiệu thư viện mã nguồn mở MossML Composer

KhảmML Composer là một thư viện đào tạo DL mã nguồn mở được xây dựng có mục đích giúp đơn giản hóa việc đưa các thuật toán mới nhất và kết hợp chúng thành các công thức mới giúp tăng tốc độ đào tạo mô hình và giúp cải thiện chất lượng mô hình. Tại thời điểm viết bài này, nó hỗ trợ PyTorch và bao gồm 25 kỹ thuật—được gọi là phương pháp trong thế giới KhảmML—cùng với các mô hình, bộ dữ liệu và điểm chuẩn tiêu chuẩn

Nhà soạn nhạc là có sẵn thông qua pip:

pip install mosaicml

Bạn có thể truy cập các kỹ thuật tăng tốc được triển khai trong Composer bằng API chức năng của nó. Ví dụ: đoạn mã sau áp dụng BlurPool kỹ thuật cho TorchVision ResNet:

import logging

from composer import functional as CF
import torchvision.models as models
logging.basicConfig(level=logging.INFO)

model = models.resnet50()
CF.apply_blurpool(model)

Tùy chọn, bạn cũng có thể sử dụng một Huấn luyện viên để sáng tác sự kết hợp các kỹ thuật của riêng bạn:

from composer import Trainer
from composer.algorithms import LabelSmoothing, CutMix, ChannelsLast

trainer = Trainer(
    model=.. # must be a composer.ComposerModel
    train_dataloader=...,
    max_duration="2ep",  # can be a time, a number of epochs or batches
    algorithms=[
        LabelSmoothing(smoothing=0.1),
        CutMix(alpha=1.0),
        ChannelsLast(),
    ]
)

trainer.fit()

Ví dụ về các phương thức được triển khai trong Composer

Một số phương pháp có sẵn trong Composer dành riêng cho thị giác máy tính, ví dụ như kỹ thuật tăng cường hình ảnh ColOut, Cắt ra, hoặc là Thay đổi kích thước hình ảnh lũy tiến. Những cái khác dành riêng cho mô hình hóa trình tự, chẳng hạn như Khởi động độ dài chuỗi or ALiBi. Điều thú vị là một số không rõ ràng về trường hợp sử dụng và có thể được áp dụng cho nhiều mạng thần kinh PyTorch ngoài thị giác máy tính và NLP. Các phương pháp tăng tốc đào tạo mạng lưới thần kinh chung đó bao gồm Làm mịn nhãn, Backprop chọn lọc, Trung bình trọng lượng ngẫu nhiên, Đóng băng lớpGiảm thiểu nhận thức độ sắc nét (SAM).

Hãy cùng tìm hiểu sâu hơn về một số giải pháp được nhóm KhảmML nhận thấy đặc biệt hiệu quả:

  • Giảm thiểu nhận thức độ sắc nét (SAM) là một trình tối ưu hóa giúp giảm thiểu cả chức năng mất mô hình và độ sắc nét của nó bằng cách tính toán độ dốc hai lần cho mỗi bước tối ưu hóa. Để hạn chế việc tính toán bổ sung nhằm hạn chế thông lượng, SAM có thể được chạy định kỳ.
  • Chú ý với Bias tuyến tính (ALiBi), lấy cảm hứng từ Nhấn và cộng sự., dành riêng cho các mẫu Transformers. Nó loại bỏ nhu cầu nhúng theo vị trí, thay thế chúng bằng thành kiến ​​không thể học được đối với trọng số chú ý.
  • Backprop chọn lọc, lấy cảm hứng từ Jiang và cộng sự., cho phép bạn chạy lan truyền ngược (thuật toán cải thiện trọng số mô hình bằng cách tuân theo độ dốc lỗi của nó) chỉ trên các bản ghi có hàm mất mát cao. Phương pháp này giúp bạn tránh tính toán không cần thiết và giúp cải thiện thông lượng.

Việc có sẵn những kỹ thuật đó trong một khung đào tạo nhỏ gọn duy nhất là một giá trị gia tăng đáng kể cho những người thực hành ML. Điều cũng có giá trị là phản hồi thực địa có thể hành động mà nhóm KhảmML tạo ra cho từng kỹ thuật, đã được thử nghiệm và xếp hạng. Tuy nhiên, với hộp công cụ phong phú như vậy, bạn có thể thắc mắc: tôi nên sử dụng phương pháp nào? Có an toàn khi kết hợp sử dụng nhiều phương pháp? Nhập trình khám phá khảm ML.

Trình khám phá khảmML

Để định lượng giá trị và khả năng tương thích của các phương pháp đào tạo DL, nhóm KhảmML duy trì Gói Thử Nghiệm, một bảng điều khiển trực tiếp đầu tiên mô tả hàng chục thử nghiệm đào tạo DL trên năm bộ dữ liệu và bảy mô hình. Bảng điều khiển hình ảnh biên giới tối ưu pareto trong sự cân bằng giữa chi phí/thời gian/chất lượng và cho phép bạn duyệt và tìm các kết hợp phương pháp đạt điểm cao nhất—được gọi là công thức nấu ăn trong thế giới KhảmML—đối với một mô hình và tập dữ liệu nhất định. Ví dụ: các biểu đồ sau đây cho thấy rằng đối với khóa đào tạo GPT125 tham số 2M, khóa đào tạo rẻ nhất duy trì độ phức tạp 24.11 có được bằng cách kết hợp AliBi, Khởi động độ dài chuỗi và Lịch trình tỷ lệ, đạt mức chi phí khoảng 145.83 USD trên Đám mây AWS! Tuy nhiên, xin lưu ý rằng tính toán chi phí này và những tính toán tiếp theo trong bài viết này chỉ dựa trên tính toán theo yêu cầu của EC2, các cân nhắc chi phí khác có thể được áp dụng, tùy thuộc vào môi trường và nhu cầu kinh doanh của bạn.

Ảnh chụp màn hình của KhảmML Explorer dành cho đào tạo GPT-2

Thành tích đáng chú ý với Composer trên AWS

Bằng cách chạy thư viện Composer trên AWS, nhóm KhảmML đã đạt được một số kết quả ấn tượng. Lưu ý rằng ước tính chi phí do nhóm KhảmML báo cáo chỉ bao gồm phí điện toán theo yêu cầu.

Kết luận

Bạn có thể bắt đầu với Composer trên bất kỳ nền tảng tương thích nào, từ máy tính xách tay của bạn đến các máy chủ đám mây lớn được trang bị GPU. Thư viện có tính năng trực quan Chuyến tham quan chào mừngBắt đầu các trang tài liệu. Việc sử dụng Composer trong AWS cho phép bạn tích lũy khoa học tối ưu hóa chi phí của Composer với các dịch vụ và chương trình tối ưu hóa chi phí của AWS, bao gồm cả điện toán Spot (Amazon EC2, Amazon SageMaker), Kế hoạch tiết kiệm, SageMaker điều chỉnh mô hình tự động, và hơn thế nữa. Nhóm KhảmML duy trì một hướng dẫn của Composer trên AWS. Nó cung cấp bản minh họa từng bước về cách bạn có thể tái tạo kết quả MLPerf và huấn luyện ResNet-50 trên AWS đạt độ chính xác tiêu chuẩn 76.6% top-1 chỉ trong 27 phút.

Nếu bạn đang gặp khó khăn với các mạng thần kinh đang đào tạo quá chậm hoặc nếu bạn đang muốn kiểm soát chi phí đào tạo DL của mình, hãy dùng thử KhảmML trên AWS và cho chúng tôi biết những gì bạn xây dựng!


Giới thiệu về tác giả

Giảm thời gian và chi phí đào tạo deep learning với Trình soạn thảo khảm ML trên AWS PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Bandish Shah là Giám đốc kỹ thuật tại KhảmML, làm việc để kết nối việc học sâu hiệu quả với các hệ thống phân tán quy mô lớn và điện toán hiệu năng. Bandish có hơn một thập kỷ kinh nghiệm xây dựng hệ thống cho ứng dụng máy học và doanh nghiệp. Anh ấy thích dành thời gian với bạn bè và gia đình, nấu ăn và xem đi xem lại Star Trek để lấy cảm hứng.

Giảm thời gian và chi phí đào tạo deep learning với Trình soạn thảo khảm ML trên AWS PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Olivier Cruchant là Kiến trúc sư Giải pháp Chuyên gia về Học máy tại AWS, có trụ sở tại Pháp. Olivier giúp khách hàng của AWS - từ các công ty khởi nghiệp nhỏ đến các doanh nghiệp lớn - phát triển và triển khai các ứng dụng học máy ở cấp độ sản xuất. Trong thời gian rảnh rỗi, anh ấy thích đọc các tài liệu nghiên cứu và khám phá vùng hoang dã với bạn bè và gia đình.

Dấu thời gian:

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