ControlNet và StarCoder: Những tiến bộ nghiên cứu của Roblox dành cho Generative AI - Blog Roblox

ControlNet và StarCoder: Những tiến bộ nghiên cứu của Roblox dành cho Generative AI – Blog Roblox

Nút nguồn: 2864546

Chúng tôi cam kết sâu sắc theo đuổi nghiên cứu có trách nhiệm và cộng đồng tham gia vào mọi lĩnh vực, bao gồm cả trí tuệ nhân tạo (AI). Chúng tôi đạt được điều này thông qua tính minh bạch, xác nhận bên ngoài và hỗ trợ các tổ chức học thuật thông qua hợp tác và tài trợ. Cách tiếp cận này cho phép chúng tôi tăng tốc đạt được những tiến bộ lớn nhất trong ba lĩnh vực trọng tâm của mình: AI tổng quát, mở rộng quy mô trung tâm dữ liệu và an toàn trực tuyến. Hôm nay, chúng tôi sẽ chia sẻ những hiểu biết sâu sắc và kết quả từ hai dự án nghiên cứu AI tổng quát của chúng tôi. Kiểm soátNet là mạng thần kinh nguồn mở bổ sung khả năng điều khiển có điều kiện cho các mô hình tạo hình ảnh để có kết quả đầu ra hình ảnh chính xác hơn. StarCoder là một mô hình ngôn ngữ lớn mã nguồn mở (LLM) tiên tiến nhất để tạo mã. 

Cả hai dự án đều là sự hợp tác học thuật và công nghiệp. Cả hai cũng tập trung vào các công cụ mạnh mẽ hơn nhiều dành cho người sáng tạo của chúng tôi: nghệ sĩ và lập trình viên 3D. Quan trọng nhất và phù hợp với sứ mệnh của chúng tôi là đầu tư vào tầm nhìn dài hạn thông qua nghiên cứu mang tính chuyển đổi, các dự án này thể hiện những dấu hiệu về những tiến bộ trong hiểu biết khoa học cơ bản và kiểm soát AI trong nhiều ứng dụng. Chúng tôi tin rằng công việc này có thể có tác động đáng kể đến tương lai của Roblox cũng như toàn bộ lĩnh vực này và tự hào chia sẻ nó một cách cởi mở.

Kiểm soátNet

Những đột phá gần đây về AI - cụ thể là các phương pháp học máy (ML) dựa trên dữ liệu sử dụng mạng lưới thần kinh sâu - đã thúc đẩy những tiến bộ mới trong các công cụ sáng tạo. Những tiến bộ này bao gồm Hỗ trợ mãMáy tạo vật liệu các tính năng có sẵn công khai trong công cụ miễn phí của chúng tôi, Roblox Studio. Các hệ thống Generative AI hiện đại chứa các cấu trúc dữ liệu được gọi là mô hình được tinh chỉnh thông qua hàng tỷ hoạt động đào tạo. Các mô hình mạnh mẽ nhất hiện nay là đa phương thức, nghĩa là họ được đào tạo trên hỗn hợp các phương tiện như văn bản, hình ảnh và âm thanh. Điều này cho phép họ tìm ra những ý nghĩa cơ bản phổ biến trên các phương tiện truyền thông thay vì trang bị quá nhiều cho các thành phần cụ thể của tập dữ liệu, chẳng hạn như bảng màu hoặc chính tả. 

Những hệ thống AI mới này có sức mạnh biểu đạt đáng kể, nhưng sức mạnh đó phần lớn được định hướng thông qua “kỹ thuật nhanh chóng”. Làm như vậy có nghĩa là chỉ cần thay đổi văn bản đầu vào, tương tự như tinh chỉnh truy vấn của công cụ tìm kiếm nếu nó không trả về kết quả bạn mong đợi. Mặc dù đây có thể là một cách hấp dẫn để sử dụng công nghệ mới, chẳng hạn như chatbot không được định hướng, nhưng nó không phải là cách hiệu quả hoặc hiệu quả để tạo nội dung. Thay vào đó, người sáng tạo cần các công cụ mạnh mẽ mà họ có thể tận dụng một cách hiệu quả thông qua việc kiểm soát chủ động thay vì phỏng đoán.

Dự án ControlNet là một bước hướng tới việc giải quyết một số thách thức này. Nó cung cấp một cách hiệu quả để khai thác sức mạnh của các mô hình AI được đào tạo trước lớn như Khuếch tán ổn định, mà không cần dựa vào kỹ thuật nhanh chóng. ControlNet tăng khả năng kiểm soát bằng cách cho phép nghệ sĩ cung cấp các điều kiện đầu vào bổ sung ngoài lời nhắc văn bản. Nhà nghiên cứu Roblox và giáo sư Đại học Stanford Maneesh Agrawala và nhà nghiên cứu Lvmin Zhang của Stanford đặt ra các mục tiêu cho dự án ControlNet chung của chúng tôi là:

  1. Phát triển giao diện người dùng tốt hơn cho các công cụ AI tổng hợp. Vượt ra ngoài thao tác nhắc nhở khó hiểu và xây dựng những cách tự nhiên hơn để truyền đạt ý tưởng hoặc khái niệm sáng tạo.
  2. Cung cấp khả năng kiểm soát không gian chính xác hơn, vượt xa việc tạo ra “một hình ảnh giống” hoặc “một hình ảnh theo phong cách…” để cho phép nhận ra chính xác hình ảnh mà người sáng tạo có trong đầu họ.
  3. Chuyển đổi hoạt động đào tạo AI tổng quát sang một quy trình điện toán hiệu quả hơn, thực thi nhanh hơn, cần ít bộ nhớ hơn và tiêu thụ ít năng lượng điện hơn.
  4. Mở rộng AI tạo hình ảnh thành một khối xây dựng có thể tái sử dụng. Sau đó, nó có thể được tích hợp với các quy trình xử lý hình ảnh và kết xuất 3D được tiêu chuẩn hóa. 

Bằng cách cho phép người sáng tạo cung cấp hình ảnh bổ sung để kiểm soát không gian, ControlNet cấp quyền kiểm soát tốt hơn đối với hình ảnh được tạo cuối cùng. Ví dụ: lời nhắc “hươu đực có gạc” trên trình tạo văn bản thành hình ảnh hiện có tạo ra nhiều hình ảnh khác nhau, như hiển thị bên dưới:

Những hình ảnh này được tạo ra bằng các giải pháp AI trước đây rất hấp dẫn, nhưng đáng tiếc là về cơ bản các kết quả là tùy ý—không có sự kiểm soát. Không có cách nào trên các hệ thống tạo hình ảnh trước đó để điều khiển đầu ra, ngoại trừ việc sửa lại lời nhắc văn bản.

Với ControlNet, người sáng tạo giờ đây có nhiều quyền lực hơn. Một cách sử dụng ControlNet là cung cấp cả hình ảnh nhắc nhở và hình ảnh nguồn để xác định hình dạng chung cần tuân theo. Trong trường hợp này, hình ảnh thu được vẫn sẽ đa dạng nhưng quan trọng là vẫn giữ được hình dạng được chỉ định:

Người sáng tạo cũng có thể chỉ định một tập hợp các cạnh, một hình ảnh không có dấu nhắc nào hoặc nhiều cách khác để cung cấp đầu vào biểu cảm cho hệ thống.

Để tạo ControlNet, chúng tôi sao chép các trọng số trong mạng của mô hình khuếch tán lớn thành hai phiên bản. Một là mạng có thể đào tạo (cái này cung cấp khả năng điều khiển; nó là “ControlNet”) và cái còn lại là mạng bị khóa. Mạng bị khóa duy trì khả năng học được từ hàng tỷ hình ảnh và có thể là bất kỳ trình tạo hình ảnh nào trước đó. Sau đó, chúng tôi huấn luyện mạng có thể huấn luyện trên các tập dữ liệu dành riêng cho nhiệm vụ để tìm hiểu cách điều khiển có điều kiện từ hình ảnh bổ sung. Các bản sao có thể huấn luyện và khóa được kết nối với một loại lớp chập duy nhất mà chúng tôi gọi là không tích chập, trong đó trọng số tích chập tăng dần từ số XNUMX đến các tham số được tối ưu hóa theo cách đã học, nghĩa là ban đầu chúng không có ảnh hưởng và hệ thống sẽ đạt được mức kiểm soát tối ưu để tác động lên mạng bị khóa.

Vì trọng số ban đầu được giữ nguyên thông qua mạng bị khóa nên mô hình hoạt động tốt với các tập dữ liệu huấn luyện có kích thước khác nhau. Và lớp chập bằng XNUMX giúp quá trình này nhanh hơn nhiều - gần giống với việc tinh chỉnh mô hình khuếch tán hơn là đào tạo các lớp mới từ đầu. 

Chúng tôi đã thực hiện xác nhận rộng rãi kỹ thuật này để tạo hình ảnh. ControlNet không chỉ cải thiện chất lượng hình ảnh đầu ra. Nó cũng giúp việc đào tạo mạng cho một nhiệm vụ cụ thể trở nên hiệu quả hơn và do đó thiết thực hơn để triển khai trên quy mô lớn cho hàng triệu người sáng tạo của chúng tôi. Trong các thử nghiệm, ControlNet mang lại hiệu suất tăng gấp 10 lần so với các kịch bản thay thế yêu cầu mô hình phải được đào tạo lại đầy đủ. Hiệu quả này rất quan trọng vì quá trình tạo mô hình mới tốn thời gian và tốn nhiều tài nguyên so với phát triển phần mềm truyền thống. Việc đào tạo hiệu quả hơn sẽ tiết kiệm điện, giảm chi phí và tăng tốc độ bổ sung chức năng mới.

Cấu trúc độc đáo của ControlNet có nghĩa là nó hoạt động tốt với các tập dữ liệu huấn luyện có kích thước khác nhau và trên nhiều loại phương tiện khác nhau. ControlNet đã được chứng minh là hoạt động với nhiều loại phương thức điều khiển khác nhau bao gồm ảnh, nét vẽ nguệch ngoạc bằng tay và mở ra phát hiện tư thế. Chúng tôi tin rằng ControlNet có thể được áp dụng cho nhiều loại phương tiện khác nhau để tạo ra nội dung AI tổng hợp. Cái này nghiên cứu được mở và có sẵn công khai để cộng đồng thử nghiệm và xây dựng, đồng thời chúng tôi sẽ tiếp tục trình bày thêm thông tin khi chúng tôi thực hiện thêm nhiều khám phá về nó.

StarCoder

AI sáng tạo có thể được áp dụng để tạo ra hình ảnh, âm thanh, văn bản, mã nguồn chương trình hoặc bất kỳ dạng đa phương tiện nào khác. Tuy nhiên, trên các phương tiện truyền thông khác nhau, các ứng dụng có thành công lớn nhất thường là những ứng dụng mà kết quả đầu ra được đánh giá một cách chủ quan. Ví dụ: một hình ảnh thành công khi nó thu hút được người xem. Một số lỗi nhất định trong hình ảnh, chẳng hạn như các đặc điểm lạ ở các cạnh hoặc thậm chí là có thêm một ngón tay trên bàn tay, có thể không được chú ý nếu tổng thể hình ảnh hấp dẫn. Tương tự như vậy, một bài thơ hoặc truyện ngắn có thể có lỗi ngữ pháp hoặc một số bước nhảy vọt về mặt logic, nhưng nếu ý chính hấp dẫn, chúng ta có xu hướng bỏ qua những điều này. 

Một cách khác để xem xét tiêu chí chủ quan là không gian kết quả có tính liên tục. Một kết quả có thể tốt hơn kết quả khác, nhưng không có ngưỡng cụ thể nào để kết quả đó hoàn toàn có thể chấp nhận được hoặc không thể chấp nhận được. Đối với các lĩnh vực và hình thức truyền thông khác, kết quả đầu ra được đánh giá một cách khách quan. Ví dụ: mã nguồn do trợ lý lập trình AI tạo ra có chính xác hay không. Nếu mã không thể vượt qua bài kiểm tra thì nó sẽ thất bại, ngay cả khi nó giống với mã của một giải pháp hợp lệ. Đây là một không gian kết quả rời rạc. Khó thành công hơn trong một không gian riêng biệt vì các tiêu chí nghiêm ngặt hơn và vì người ta không thể tiếp cận dần dần một giải pháp tốt — mã bị hỏng ngay cho đến khi nó đột ngột hoạt động.

LLM được sử dụng để xuất văn bản hoạt động tốt cho các ứng dụng chủ quan, liên tục như chatbot. Chúng dường như cũng có tác dụng tốt trong việc tạo ra văn xuôi bằng nhiều ngôn ngữ của con người, chẳng hạn như tiếng Anh và tiếng Pháp. Tuy nhiên, LLM hiện tại dường như không hoạt động tốt đối với lập trình ngôn ngữ như họ làm với những ngôn ngữ của con người. Mã là một dạng toán học có cách diễn đạt ý nghĩa khách quan, rất khác so với ngôn ngữ tự nhiên. Đó là một không gian kết quả rời rạc thay vì một không gian kết quả liên tục. Để đạt được chất lượng tạo mã ngôn ngữ lập trình cao nhất cho người tạo Roblox, chúng tôi cần các phương pháp áp dụng LLM có thể hoạt động tốt trong không gian khách quan, riêng biệt này. Chúng tôi cũng cần các phương pháp mạnh mẽ để thể hiện chức năng mã độc lập với cú pháp ngôn ngữ cụ thể, chẳng hạn như Lua, JavaScript hoặc Python. 

StarCoder, một LLM nguồn mở tiên tiến mới để tạo mã, là một bước tiến lớn đối với thách thức kỹ thuật này và là một LLM mở thực sự cho mọi người. StarCoder là một kết quả của mã lớn tập đoàn nghiên cứu, bao gồm hơn 600 thành viên trong các phòng thí nghiệm nghiên cứu học thuật và công nghiệp. Nhà nghiên cứu Roblox và giáo sư Đại học Đông Bắc Arjun Guha đã giúp lãnh đạo nhóm này phát triển StarCoder. Những kết quả được công bố lần đầu này chỉ tập trung vào khía cạnh mã, đây là lĩnh vực mà lĩnh vực này cần sự phát triển mới nhất nhờ sự thành công tương đối của các phương pháp chủ quan. 

Để cung cấp AI tổng quát thông qua LLM hỗ trợ hệ sinh thái AI lớn hơn và cộng đồng Roblox, chúng tôi cần các mô hình đã được đào tạo riêng về các tập dữ liệu được thu thập có trách nhiệm và được cấp phép phù hợp. Những thứ này cũng phải có giấy phép không hạn chế để bất kỳ ai cũng có thể sử dụng chúng, xây dựng dựa trên chúng và đóng góp trở lại hệ sinh thái. Ngày nay, các LLM mạnh nhất là độc quyền hoặc được cấp phép cho các hình thức sử dụng thương mại hạn chế, điều này cấm hoặc hạn chế khả năng của các nhà nghiên cứu trong việc thử nghiệm chính mô hình đó. Ngược lại, StarCoder là một mô hình thực sự mở, được tạo ra thông qua liên minh các nhà nghiên cứu học thuật và công nghiệp và được cấp phép không hạn chế cho ứng dụng thương mại ở mọi quy mô. StarCoder được đào tạo riêng về nội dung được thu thập có trách nhiệm và được cấp phép phù hợp. Mô hình ban đầu được đào tạo về mã công khai và quy trình chọn không tham gia có sẵn cho những người không muốn sử dụng mã của họ cho đào tạo.

Ngày nay, StarCoder hoạt động trên 86 ngôn ngữ lập trình khác nhau, bao gồm Python, C++ và Java. Vào thời điểm bài báo được xuất bản, nó đã hoạt động tốt hơn mọi LLM mã mở hỗ trợ nhiều ngôn ngữ và thậm chí còn cạnh tranh với nhiều mô hình độc quyền, đóng. 

StarCoder LLM là một đóng góp cho hệ sinh thái, nhưng mục tiêu nghiên cứu của chúng tôi còn sâu sắc hơn nhiều. Tác động lớn nhất của nghiên cứu này là thúc đẩy mô hình hóa ngữ nghĩa của cả mô hình đa phương thức khách quan và chủ quan, bao gồm mã, văn bản, hình ảnh, lời nói, video và tăng hiệu quả đào tạo thông qua các kỹ thuật chuyển miền. Chúng tôi cũng mong đợi có được những hiểu biết sâu sắc về khả năng bảo trì và khả năng kiểm soát của AI tổng hợp cho các nhiệm vụ khách quan như tạo mã nguồn. Có sự khác biệt lớn giữa sự trình diễn hấp dẫn về công nghệ mới nổi và một sản phẩm an toàn, đáng tin cậy và hiệu quả mang lại giá trị cho cộng đồng người dùng. Đối với các mô hình ML của chúng tôi, chúng tôi tối ưu hóa hiệu suất về dung lượng bộ nhớ, tiết kiệm năng lượng và thời gian thực thi. Chúng tôi cũng đã phát triển cơ sở hạ tầng mạnh mẽ, bao quanh lõi AI bằng phần mềm để kết nối nó với phần còn lại của hệ thống và phát triển một hệ thống liền mạch để cập nhật thường xuyên khi các tính năng mới được thêm vào. 

Việc tập hợp các nhà khoa học và kỹ sư của Roblox cùng với một số bộ óc nhạy bén nhất trong cộng đồng khoa học là một thành phần quan trọng trong việc theo đuổi công nghệ đột phá của chúng tôi. Chúng tôi tự hào chia sẻ những kết quả ban đầu này và mời cộng đồng nghiên cứu tham gia cùng chúng tôi và phát triển dựa trên những tiến bộ này.

Dấu thời gian:

Thêm từ ROBLOX