Vào tháng 2022 năm XNUMX, chúng tôi công bố rằng khách hàng AWS có thể tạo hình ảnh từ văn bản với Khuếch tán ổn định mô hình trong Khởi động Amazon SageMaker. Hôm nay, chúng tôi công bố một tính năng mới cho phép bạn nâng cấp hình ảnh (thay đổi kích thước hình ảnh mà không làm giảm chất lượng) với các mẫu Khuếch tán ổn định trong JumpStart. Có thể chuyển đổi hình ảnh có độ phân giải thấp, mờ và pixel thành hình ảnh có độ phân giải cao trông mượt mà hơn, rõ ràng hơn và chi tiết hơn. Quá trình này, được gọi là nâng cấp, có thể được áp dụng cho cả ảnh thực và ảnh được tạo bởi các mô hình khuếch tán ổn định từ văn bản sang hình ảnh. Điều này có thể được sử dụng để nâng cao chất lượng hình ảnh trong các ngành khác nhau như thương mại điện tử và bất động sản, cũng như cho các nghệ sĩ và nhiếp ảnh gia. Ngoài ra, nâng cấp có thể cải thiện chất lượng hình ảnh của hình ảnh có độ phân giải thấp khi được hiển thị trên màn hình có độ phân giải cao.
Khuếch tán ổn định sử dụng thuật toán AI để nâng cấp hình ảnh, loại bỏ nhu cầu thực hiện công việc thủ công có thể yêu cầu lấp đầy các khoảng trống trong hình ảnh theo cách thủ công. Nó đã được đào tạo trên hàng triệu hình ảnh và có thể dự đoán chính xác hình ảnh có độ phân giải cao, giúp tăng đáng kể độ chi tiết so với các công cụ nâng cấp hình ảnh truyền thống. Ngoài ra, không giống như các kỹ thuật không học sâu như hàng xóm gần nhất, Khuếch tán ổn định tính đến ngữ cảnh của hình ảnh, sử dụng lời nhắc văn bản để hướng dẫn quy trình nâng cấp.
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 nâng cấp Khuếch tán Ổn định theo hai cách: thông qua giao diện người dùng (UI) của JumpStart trong Xưởng sản xuất Amazon SageMakervà được lập trình thông qua API JumpStart có sẵn trong SDK Python của SageMaker.
Tổng quan về giải pháp
Các hình ảnh sau đây cho thấy các ví dụ về nâng cấp được thực hiện bởi mô hình. Bên trái là hình ảnh ban đầu có độ phân giải thấp được phóng to để phù hợp với kích thước của hình ảnh do mô hình tạo ra. Bên phải là hình ảnh được tạo bởi mô hình.
Hình ảnh được tạo đầu tiên là kết quả của hình ảnh con mèo có độ phân giải thấp và lời nhắc “một con mèo trắng”.
Hình ảnh được tạo thứ hai là kết quả của hình ảnh con bướm có độ phân giải thấp và lời nhắc “con bướm trên chiếc lá xanh”.
Chạy các mô hình lớn như Khuếch tán ổn định yêu cầu tập lệnh suy luận tùy chỉnh. Bạn phải chạy thử nghiệm từ đầu đến cuối để đảm bảo rằng tập lệnh, mô hình và phiên bản mong muốn hoạt động hiệu quả cùng nhau. JumpStart đơn giản hóa quy trình 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ẽ. Bạn có thể truy cập các tập lệnh này bằng một cú nhấp chuột thông qua Giao diện người dùng Studio hoặc với rất ít dòng mã thông qua API JumpStart.
Các phần sau đây cung cấp tổng quan về cách triển khai mô hình và chạy suy luận bằng cách sử dụng Giao diện người dùng Studio hoặc API JumpStart.
Lưu ý rằng bằng cách sử dụng mô hình này, bạn đồng ý với Giấy phép CreativeML Open RAIL++-M.
Truy cập JumpStart thông qua giao diện người dùng Studio
Trong phần này, chúng tôi trình bày cách huấn luyện và triển khai các mô hình JumpStart thông qua Studio UI. Video sau đây cho biết cách tìm mô hình nâng cấp Khuếch tán Ổn định được đào tạo trước trên JumpStart và triển khai nó. Trang mô hình chứa thông tin có giá trị về mô hình và cách sử dụng nó. Để suy luận, chúng tôi sử dụng loại phiên bản ml.p3.2xlarge vì nó cung cấp khả năng tăng tốc GPU cần thiết để có độ trễ suy luận thấp ở mức giá thấp. Sau khi bạn định cấu hình phiên bản lưu trữ SageMaker, hãy chọn Triển khai. Sẽ mất 5–10 phút cho đến khi điểm cuối thiết lập và chạy và sẵn sàng phản hồi các yêu cầu suy luận.
Để rút ngắn thời gian suy luận, JumpStart cung cấp một sổ ghi chép mẫu cho biết cách chạy suy luận trên điểm cuối mới được tạo. Để truy cập sổ ghi chép trong Studio, hãy chọn Mở Notebook trong Sử dụng Điểm cuối từ Studio phần của trang điểm cuối mô hình.
Sử dụng JumpStart theo lập trình với SageMaker SDK
Bạn có thể sử dụng Giao diện người dùng JumpStart để triển khai mô hình được đào tạo trước một cách tương tác chỉ bằng vài cú nhấp chuột. Tuy nhiên, bạn cũng có thể sử dụng các mô hình JumpStart theo chương trình bằng cách sử dụng các API được tích hợp vào SageMaker Python SDK.
Trong phần này, chúng tôi chọn một mô hình được đào tạo trước thích hợp trong JumpStart, triển khai mô hình này đến điểm cuối SageMaker và chạy suy luận trên điểm cuối đã triển khai, tất cả đều sử dụng SDK Python của SageMaker. Các ví dụ sau đây chứa các đoạn mã. Để biết mã đầy đủ với tất cả các bước trong bản trình diễn này, hãy xem phần Giới thiệu về JumpStart – Nâng cao chất lượng hình ảnh được hướng dẫn bằng lời nhắc sổ tay ví dụ.
Triển khai mô hình được đào tạo trước
SageMaker sử dụng các thùng chứa Docker cho các tác vụ thời gian chạy và xây dựng khác nhau. JumpStart sử dụng Bộ chứa học sâu SageMaker (DLC) dành riêng cho khung. Trước tiên, chúng tôi tìm nạp bất kỳ gói bổ sung nào, cũng như các tập lệnh để xử lý quá trình đào tạo và suy luận cho tác vụ đã chọn. Sau đó, các tạo phẩm mô hình được đào tạo trước được tìm nạp riêng với model_uris
, cung cấp tính linh hoạt cho nền tảng. Điều này cho phép sử dụng nhiều mô hình được đào tạo trước với một tập lệnh suy luận duy nhất. Đoạn mã sau minh họa quá trình này:
Tiếp theo, chúng tôi cung cấp các tài nguyên đó vào một Mô hình SageMaker ví dụ và triển khai một điểm cuối:
Sau khi mô hình của chúng tôi đượ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!
định dạng đầu vào
Điểm cuối chấp nhận hình ảnh có độ phân giải thấp dưới dạng giá trị RGB thô hoặc hình ảnh được mã hóa base64. Trình xử lý suy luận giải mã hình ảnh dựa trên content_type
:
- Trong
content_type = “application/json”
, tải trọng đầu vào phải là một từ điển JSON với các giá trị RGB thô, lời nhắc văn bản và các tham số tùy chọn khác - Trong
content_type = “application/json;jpeg”
, tải trọng đầu vào phải là từ điển JSON với hình ảnh được mã hóa base64, lời nhắc văn bản và các tham số tùy chọn khác
Định dạng đầu ra
Các ví dụ mã sau đây cung cấp cho bạn một cái nhìn thoáng qua về kết quả đầu ra trông như thế nào. Tương tự như định dạng đầu vào, điểm cuối có thể phản hồi với các giá trị RGB thô của hình ảnh hoặc hình ảnh được mã hóa base64. Điều này có thể được chỉ định bằng cách thiết lập accept
đến một trong hai giá trị:
- Trong
accept = “application/json”
, điểm cuối trả về từ điển JSON có giá trị RGB cho hình ảnh - Trong
accept = “application/json;jpeg”
, điểm cuối trả về từ điển JSON có hình ảnh JPEG dưới dạng byte được mã hóa bằng mã hóa base64.b64
Lưu ý rằng việc gửi hoặc nhận tải trọng với các giá trị RGB thô có thể đạt đến giới hạn mặc định cho tải trọng đầu vào và kích thước phản hồi. Do đó, chúng tôi khuyên bạn nên sử dụng hình ảnh được mã hóa base64 bằng cách đặt content_type = “application/json;jpeg”
và accept = “application/json;jpeg”
.
Đoạn mã sau là một ví dụ về yêu cầu suy luận:
Phản hồi điểm cuối là một đối tượng JSON chứa hình ảnh được tạo và lời nhắc:
thông số được hỗ trợ
Các mô hình nâng cấp khuếch tán ổn định hỗ trợ nhiều tham số để tạo hình ảnh:
- hình ảnh – Hình ảnh có độ phân giải thấp.
- nhanh chóng – Lời nhắc hướng dẫn tạo hình ảnh. Nó có thể là một chuỗi hoặc một danh sách các chuỗi.
- num_inference_steps (tùy chọn) – Số bước khử nhiễu trong quá trình tạo ảnh. Nhiều bước hơn dẫn đến hình ảnh chất lượng cao hơn. Nếu được chỉ định, nó phải là một số nguyên dương. Lưu ý rằng nhiều bước suy luận hơn sẽ dẫn đến thời gian phản hồi lâu hơn.
- hướng dẫn_scale (tùy chọn) – Thang hướng dẫn cao hơn dẫn đến hình ảnh có liên quan chặt chẽ hơn với lời nhắc, nhưng chất lượng hình ảnh phải trả giá đắt. Nếu được chỉ định, nó phải là một số float.
guidance_scale<=1
bị bỏ qua. - negative_prompt (tùy chọn) – Điều này hướng dẫn việc tạo hình ảnh theo lời nhắc này. Nếu được chỉ định, nó phải là một chuỗi hoặc một danh sách các chuỗi và được sử dụng với
guidance_scale
. Nếuguidance_scale
bị vô hiệu hóa, điều này cũng bị vô hiệu hóa. Hơn nữa, nếu lời nhắc là một danh sách các chuỗi, thì âm_prompt cũng phải là một danh sách các chuỗi. - hạt giống (tùy chọn) – Điều này khắc phục trạng thái ngẫu nhiên cho khả năng tái tạo. Nếu được chỉ định, nó phải là một số nguyên. Bất cứ khi nào bạn sử dụng cùng một lời nhắc với cùng một hạt giống, hình ảnh thu được sẽ luôn giống nhau.
- noise_level (tùy chọn) – Điều này thêm nhiễu vào các vectơ tiềm ẩn trước khi nâng cấp. Nếu được chỉ định, nó phải là một số nguyên.
Bạn có thể nâng cấp hình ảnh theo cách đệ quy bằng cách gọi điểm cuối nhiều lần để có được hình ảnh chất lượng cao hơn và cao hơn.
Kích thước hình ảnh và loại phiên bản
Hình ảnh do mô hình tạo ra có thể có kích thước gấp bốn lần hình ảnh có độ phân giải thấp ban đầu. Hơn nữa, yêu cầu bộ nhớ của mô hình (bộ nhớ GPU) tăng theo kích thước của hình ảnh được tạo. Do đó, nếu bạn đang nâng cấp hình ảnh có độ phân giải cao hoặc đang nâng cấp hình ảnh theo cách đệ quy, hãy chọn loại phiên bản có bộ nhớ GPU lớn. Chẳng hạn, ml.g5.2xlarge có nhiều bộ nhớ GPU hơn loại phiên bản ml.p3.2xlarge mà chúng tôi đã sử dụng trước đó. Để biết thêm thông tin về các loại phiên bản khác nhau, hãy tham khảo Các loại phiên bản Amazon EC2.
Nâng cấp hình ảnh từng mảnh
Để giảm yêu cầu bộ nhớ khi nâng cấp hình ảnh lớn, bạn có thể chia hình ảnh thành các phần nhỏ hơn, được gọi là gạchvà nâng cấp từng ô riêng lẻ. Sau khi các ô đã được nâng cấp, chúng có thể được trộn với nhau để tạo ra hình ảnh cuối cùng. Phương pháp này yêu cầu điều chỉnh lời nhắc cho từng ô để mô hình có thể hiểu nội dung của ô và tránh tạo ra các hình ảnh lạ. Phần kiểu của lời nhắc phải nhất quán cho tất cả các ô để giúp trộn dễ dàng hơn. Khi sử dụng cài đặt khử nhiễu cao hơn, điều quan trọng là phải cụ thể hơn trong lời nhắc vì mô hình có nhiều quyền tự do hơn để điều chỉnh hình ảnh. Điều này có thể khó khăn khi ô xếp chỉ chứa nền hoặc không liên quan trực tiếp đến nội dung chính của ảnh.
Hạn chế và sai lệch
Mặc dù Stable Diffusion có hiệu suất ấn tượng trong việc nâng cấp, nhưng nó vẫn có một số hạn chế và sai lệch. Chúng bao gồm nhưng không giới hạn ở:
- Mô hình có thể không tạo ra khuôn mặt hoặc chân tay chính xác vì dữ liệu đào tạo không bao gồm đủ hình ảnh với các tính năng này
- Người mẫu được huấn luyện trên Bộ dữ liệu LAION-5B, có nội dung người lớn và có thể không phù hợp để sử dụng sản phẩm mà không cần xem xét thêm
- Mô hình có thể không hoạt động tốt với các ngôn ngữ không phải tiếng Anh vì mô hình đã được đào tạo về văn bản tiếng Anh
- Mô hình không thể tạo văn bản tốt trong hình ảnh
Để biết thêm thông tin về các hạn chế và sai lệch, hãy tham khảo Thẻ mô hình nâng cấp khuếch tán ổn định.
Làm sạch
Sau khi bạn chạy xong sổ ghi chép, hãy đảm bảo xóa tất cả các tài nguyên được tạo trong quy trình để đảm bảo rằng quá trình lập hóa đơn được dừng lại. Mã để dọn sạch điểm cuối có sẵn trong liên kết máy tính xách tay.
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 nâng cấp Khuếch tán ổn định được đào tạo trước bằng cách sử dụng JumpStart. Chúng tôi đã hiển thị các đoạn mã trong bài đăng này—mã đầy đủ với tất cả các bước trong bản trình diễn này có sẵn trong Giới thiệu về JumpStart – Nâng cao chất lượng hình ảnh được hướng dẫn bằng lời nhắc sổ ví dụ. Hãy thử giải pháp của riêng bạn và gửi cho chúng tôi ý kiến của bạn.
Để tìm hiểu thêm về mô hình và cách thức hoạt động của mô hình, hãy xem các tài nguyên sau:
Để tìm hiểu thêm về JumpStart, hãy xem các bài đăng trên blog sau:
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.
Heiko Hotz là Kiến trúc sư giải pháp cấp cao về AI & Machine Learning, đặc biệt tập trung vào Xử lý ngôn ngữ tự nhiên (NLP), Mô hình ngôn ngữ lớn (LLM) và AI sáng tạo. Trước khi đảm nhận vai trò này, ông là Trưởng phòng Khoa học Dữ liệu cho Dịch vụ Khách hàng Châu Âu 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. Trong thời gian rảnh rỗi, Heiko đi du lịch nhiều nhất có thể.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- Platoblockchain. Web3 Metaverse Intelligence. Khuếch đại kiến thức. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/machine-learning/upscale-images-with-stable-diffusion-in-amazon-sagemaker-jumpstart/
- 100
- 2022
- 7
- a
- Giới thiệu
- đẩy nhanh tiến độ
- Chấp nhận
- Chấp nhận
- truy cập
- Tài khoản
- chính xác
- chính xác
- đạt được
- hoạt động
- thích ứng
- thêm vào
- Ngoài ra
- Thêm
- Người lớn
- Sau
- chống lại
- AI
- AI & Máy học
- AI / ML
- thuật toán
- Tất cả
- cho phép
- Đã
- luôn luôn
- đàn bà gan dạ
- Amazon SageMaker
- Khởi động Amazon SageMaker
- và
- Thông báo
- api
- API
- áp dụng
- thích hợp
- Nghệ sĩ
- liên kết
- tự động
- có sẵn
- AWS
- lý lịch
- dựa
- bởi vì
- trước
- được
- thiên vị
- thanh toán
- trộn
- Blog
- Blog Posts
- Nghỉ giải lao
- xây dựng
- gọi là
- Có thể có được
- CON MÈO
- thách thức
- kiểm tra
- Chọn
- tốt nghiệp lớp XNUMX
- rõ ràng hơn
- chặt chẽ
- mã
- Bình luận
- so
- hội nghị
- thích hợp
- Container
- Container
- chứa
- nội dung
- bối cảnh
- chuyển đổi
- tạo
- tạo ra
- Tạo
- khách hàng
- khách hàng
- Dịch Vụ CSKH
- khách hàng
- dữ liệu
- khoa học dữ liệu
- giảm
- sâu
- học kĩ càng
- Mặc định
- chứng minh
- triển khai
- triển khai
- Thiết kế
- chi tiết
- chi tiết
- khác nhau
- Lôi thôi
- trực tiếp
- bị vô hiệu hóa
- phu bến tàu
- Không
- suốt trong
- mỗi
- Sớm hơn
- dễ dàng hơn
- thương mại điện tử
- hiệu quả
- hay
- loại bỏ
- Cuối cùng đến cuối
- Điểm cuối
- Tiếng Anh
- đảm bảo
- Giải trí
- nhập
- bất động sản
- EU
- ví dụ
- ví dụ
- khuôn mặt
- Đặc tính
- Tìm nạp
- vài
- Tập tin
- cuối cùng
- tài chính
- dịch vụ tài chính
- Tìm kiếm
- Tên
- phù hợp với
- Linh hoạt
- Phao
- Tập trung
- tiếp theo
- định dạng
- Freedom
- từ
- Full
- xa hơn
- Hơn nữa
- tạo ra
- tạo ra
- thế hệ
- thế hệ
- Trí tuệ nhân tạo
- Georgia
- được
- Cho
- Nhìn thoáng qua
- tốt
- GPU
- màu xanh lá
- Phát triển
- hướng dẫn
- Hướng dẫn
- xử lý
- cái đầu
- chăm sóc sức khỏe
- cao
- giúp
- độ phân giải cao
- cao hơn
- Đánh
- lưu trữ
- Độ đáng tin của
- Hướng dẫn
- Tuy nhiên
- HTML
- HTTPS
- Illinois
- hình ảnh
- hình ảnh
- quan trọng
- ấn tượng
- nâng cao
- in
- bao gồm
- Bao gồm
- Tăng lên
- Cá nhân
- các ngành công nghiệp
- thông tin
- đầu vào
- ví dụ
- bảo hiểm
- tích hợp
- Giao thức
- IT
- cuộc hành trình
- json
- nổi tiếng
- Ngôn ngữ
- Ngôn ngữ
- lớn
- Độ trễ
- dẫn
- LEARN
- học tập
- cho phép
- hạn chế
- Hạn chế
- giới hạn
- dòng
- Danh sách
- còn
- Xem
- giống như
- mất
- Thấp
- máy
- học máy
- Chủ yếu
- làm cho
- nhãn hiệu
- công việc thủ công
- thủ công
- sản xuất
- nhiều
- Trận đấu
- Phương tiện truyền thông
- Bộ nhớ
- phương pháp
- hàng triệu
- Phút
- ML
- kiểu mẫu
- mô hình
- chi tiết
- nhiều
- Tự nhiên
- Xử lý ngôn ngữ tự nhiên
- Cần
- Mới
- nlp
- Tiếng ồn
- máy tính xách tay
- Tháng mười một
- con số
- vật
- ONE
- mở
- gọi món
- tổ chức
- nguyên
- Nền tảng khác
- tổng quan
- riêng
- gói
- giấy tờ
- thông số
- một phần
- hiệu suất
- hình ảnh
- mảnh
- nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- Điểm
- tích cực
- có thể
- Bài đăng
- bài viết
- quyền hạn
- dự đoán
- Dự đoán
- Predictor
- trình bày
- giá
- Trước khi
- quá trình
- xử lý
- Sản phẩm
- cho
- cung cấp
- cung cấp
- công bố
- Python
- chất lượng
- Ngẫu nhiên
- Nguyên
- sẵn sàng
- thực
- bất động sản
- nhận
- giới thiệu
- liên quan
- vẫn
- NHIỀU LẦN
- yêu cầu
- yêu cầu
- yêu cầu
- yêu cầu
- Yêu cầu
- đòi hỏi
- nhà nghiên cứu
- Độ phân giải
- Thông tin
- Trả lời
- phản ứng
- kết quả
- kết quả
- Kết quả
- trở lại
- Trả về
- RGB
- Vai trò
- chạy
- chạy
- nhà làm hiền triết
- tương tự
- Quy mô
- Khoa học
- Nhà khoa học
- màn hình
- kịch bản
- sdk
- Thứ hai
- Phần
- phần
- hạt giống
- chọn
- gửi
- cao cấp
- dịch vụ
- DỊCH VỤ
- thiết lập
- thiết lập
- một số
- nên
- hiển thị
- Chương trình
- có ý nghĩa
- Tương tự
- duy nhất
- Kích thước máy
- nhỏ hơn
- mượt mà hơn
- So
- giải pháp
- Giải pháp
- đặc biệt
- riêng
- quy định
- ổn định
- Tiểu bang
- Các bước
- dừng lại
- phòng thu
- phong cách
- thành công
- như vậy
- Khổ
- đủ
- hỗ trợ
- Hãy
- mất
- Nhiệm vụ
- nhiệm vụ
- nhóm
- công nghệ cao
- kỹ thuật
- kiểm tra
- Sản phẩm
- cung cấp their dịch
- vì thế
- Thông qua
- thời gian
- thời gian
- đến
- bây giờ
- bên nhau
- truyền thống
- Train
- đào tạo
- Hội thảo
- chuyến đi
- loại
- ui
- hiểu
- trường đại học
- us
- sử dụng
- người sử dang
- Giao diện người dùng
- tiện ích
- sử dụng
- Quý báu
- Các giá trị
- khác nhau
- thông qua
- Video
- cách
- Điều gì
- cái nào
- trắng
- sẽ
- ở trong
- không có
- Công việc
- làm việc cùng nhau
- làm việc
- công trinh
- Bạn
- trên màn hình
- zephyrnet