Với chi phí bằng một tách Starbucks và hai giờ thời gian của bạn, bạn có thể sở hữu mô hình quy mô lớn mã nguồn mở được đào tạo của riêng mình. Mô hình có thể được tinh chỉnh theo các hướng dữ liệu đào tạo khác nhau để nâng cao các kỹ năng khác nhau, chẳng hạn như y tế, lập trình , giao dịch chứng khoán và tư vấn tình yêu, giúp mô hình quy mô lớn của bạn “hiểu” bạn hơn. Hãy thử đào tạo một mô hình quy mô lớn nguồn mở được hỗ trợ bởi DolphinScheduler nguồn mở!
Sự ra đời của ChatGPT chắc chắn đã khiến chúng ta tràn đầy dự đoán về tương lai của AI. Cách diễn đạt tinh tế và khả năng hiểu ngôn ngữ mạnh mẽ của nó đã khiến cả thế giới kinh ngạc. Tuy nhiên, vì ChatGPT được cung cấp dưới dạng Phần mềm dưới dạng Dịch vụ (SaaS), các vấn đề về rò rỉ quyền riêng tư cá nhân và bảo mật dữ liệu công ty là mối quan tâm của mọi người dùng và công ty. Ngày càng có nhiều mô hình quy mô lớn nguồn mở xuất hiện, giúp các cá nhân và công ty có thể có các mô hình của riêng họ. Tuy nhiên, việc bắt đầu, tối ưu hóa và sử dụng các mô hình quy mô lớn nguồn mở có rào cản gia nhập cao, khiến mọi người khó sử dụng chúng một cách dễ dàng. Để giải quyết vấn đề này, chúng tôi sử dụng Apache DolphinScheduler, cung cấp hỗ trợ bằng một cú nhấp chuột để đào tạo, điều chỉnh và triển khai các mô hình quy mô lớn nguồn mở. Điều này cho phép mọi người đào tạo các mô hình quy mô lớn của riêng họ bằng cách sử dụng dữ liệu của họ với chi phí rất thấp và có chuyên môn kỹ thuật.
Mục tiêu của chúng tôi không chỉ dành cho các kỹ sư AI chuyên nghiệp mà còn dành cho bất kỳ ai quan tâm đến GPT để tận hưởng niềm vui khi có một mô hình “hiểu” họ hơn. Chúng tôi tin rằng mọi người đều có quyền và khả năng định hình trợ lý AI của riêng mình. Quy trình làm việc trực quan của Apache DolphinScheduler giúp điều này trở nên khả thi. Ngoài ra, Apache DolphinScheduler là một công cụ lập lịch AI và dữ liệu lớn với hơn 10.000 sao trên GitHub. Đây là một dự án cấp cao nhất thuộc Quỹ Phần mềm Apache, nghĩa là bạn có thể sử dụng nó miễn phí và sửa đổi mã mà không phải lo lắng về bất kỳ vấn đề thương mại nào.
Cho dù bạn là một chuyên gia trong ngành muốn đào tạo một mô hình bằng dữ liệu của riêng mình hay một người đam mê AI muốn hiểu và khám phá quá trình đào tạo các mô hình học sâu, quy trình làm việc của chúng tôi sẽ cung cấp các dịch vụ thuận tiện cho bạn. Nó giải quyết các bước tiền xử lý phức tạp, đào tạo mô hình và tối ưu hóa, đồng thời chỉ cần 1–2 giờ cho các thao tác đơn giản, cộng với 20 giờ chạy để xây dựng mô hình quy mô lớn ChatGPT “hiểu biết” hơn.
Vì vậy, hãy bắt đầu cuộc hành trình kỳ diệu này! Hãy mang tương lai của AI đến với mọi người.
Trước tiên, bạn cần có card đồ họa 3090. Nếu bạn có máy tính để bàn, bạn có thể sử dụng trực tiếp. Nếu không, có rất nhiều máy chủ cho thuê với GPU trực tuyến. Ở đây chúng tôi sử dụng AutoDL làm ví dụ để áp dụng. Mở https://www.autodl.com/home , đăng ký và đăng nhập. Sau đó, bạn có thể chọn máy chủ tương ứng trong thị trường điện toán theo các bước 1, 2 và 3 được hiển thị trên màn hình.
Ở đây, nên chọn card đồ họa RTX 3090, mang lại tỷ lệ hiệu suất chi phí cao. Sau khi thử nghiệm, người ta thấy rằng một đến hai người có thể sử dụng RTX 3090 cho các tác vụ trực tuyến. Nếu muốn tốc độ đào tạo và phản hồi nhanh hơn, bạn có thể chọn card đồ họa mạnh hơn. Đào tạo một lần mất khoảng 20 giờ, trong khi kiểm tra cần khoảng 2–3 giờ. Với ngân sách 40 nhân dân tệ, bạn có thể dễ dàng hoàn thành nó.
Bấm vào gương cộng đồng, sau đó nhập WhaleOps/dolphinscheduler-llm/dolphinscheduler-llm-0521
ô màu đỏ bên dưới. Bạn có thể chọn hình ảnh như hình bên dưới. Hiện tại chỉ có phiên bản V1. Trong tương lai, khi các phiên bản mới được phát hành, bạn có thể chọn phiên bản mới nhất.
Nếu bạn cần đào tạo mô hình nhiều lần, bạn nên mở rộng dung lượng ổ cứng lên khoảng 100GB.
Sau khi tạo nó, hãy đợi thanh tiến trình hiển thị trong hình ảnh sau hoàn tất.
Để triển khai và gỡ lỗi mô hình quy mô lớn nguồn mở của riêng bạn trên giao diện, bạn cần khởi động phần mềm DolphinScheduler và chúng tôi cần thực hiện công việc cấu hình sau:
Có hai phương pháp có sẵn. Bạn có thể chọn một trong những phù hợp với sở thích của bạn:
Nhấp vào nút JupyterLab được hiển thị bên dưới.
Trang sẽ chuyển hướng đến JupyterLab; từ đó, bạn có thể nhấp vào “Terminal” để vào.
2. Đăng nhập qua Terminal (dành cho coder):
Chúng ta có thể lấy lệnh kết nối SSH từ nút hiển thị trong hình ảnh sau.
Sau đó, thiết lập kết nối thông qua thiết bị đầu cuối.
Trong DolphinScheduler, tất cả siêu dữ liệu được lưu trữ trong cơ sở dữ liệu, bao gồm định nghĩa quy trình công việc, cấu hình môi trường, thông tin đối tượng thuê, v.v. Để thuận tiện cho người dùng xem các quy trình công việc này khi khởi chạy DolphinScheduler, chúng ta có thể nhập trực tiếp siêu dữ liệu quy trình công việc được xác định trước bằng cách sao chép nó từ màn hình.
Sử dụng thiết bị đầu cuối, điều hướng đến thư mục sau:
cd apache-dolphinscheduler-3.1.5-bin
Thực hiện lệnh: vim import_ds_metadata.sh
để mở file import_ds_metadata.sh
. Nội dung file như sau:
Set variables
Hostname
HOST="xxx.xxx.xxx.x"
UsernameUSERNAME="root"PasswordPASSWORD="xxxx"PortPORT=3306Database to import intoDATABASE="ds315_llm_test"SQL filenameSQL_FILE="ds315_llm.sql"mysql -h $HOST -P $PORT -u $USERNAME -p$PASSWORD -e "CREATE DATABASE $DATABASE;"mysql -h $HOST -P $PORT -u $USERNAME -p$PASSWORD $DATABASE < $SQL_FILE
Thay thế xxx.xxx.xxx.x và xxxx bằng các giá trị cấu hình có liên quan của cơ sở dữ liệu MySQL trên mạng công cộng của bạn (bạn có thể đăng ký trên Alibaba Cloud, Tencent Cloud hoặc tự cài đặt). Sau đó thực hiện:
bash import_ds_metadata.sh
Sau khi thực hiện, nếu quan tâm, bạn có thể kiểm tra siêu dữ liệu tương ứng trong cơ sở dữ liệu (kết nối với MySQL và xem, bỏ qua bước này nếu bạn không quen với mã).
Trong dòng lệnh máy chủ, hãy mở tệp sau và sửa đổi cấu hình để kết nối DolphinScheduler với cơ sở dữ liệu đã nhập trước đó:
/root/apache-dolphinscheduler-3.1.5-bin/bin/env/dolphinscheduler_env.sh
Sửa đổi cấu hình có liên quan trong phần cơ sở dữ liệu và giữ nguyên các phần khác. Thay đổi các giá trị của 'HOST' và 'PASSWORD' thành các giá trị cấu hình của cơ sở dữ liệu đã nhập, tức là xxx.xxx.xxx.x và xxxx:
export DATABASE=mysqlexport SPRING_PROFILES_ACTIVE=${DATABASE}export SPRING_DATASOURCE_URL="jdbc:mysql://HOST:3306/ds315_llm_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false"export SPRING_DATASOURCE_USERNAME="root"export SPRING_DATASOURCE_PASSWORD="xxxxxx"......
Sau khi cấu hình, thực thi (cũng trong thư mục này /root/apache-dolphinscheduler-3.1.5-bin):
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
Sau khi thực thi, chúng ta có thể kiểm tra nhật ký bằng cách sử dụng tail -200f standalone-server/logs/dolphinscheduler-standalone.log
. Tại thời điểm này, DolphinScheduler đã chính thức ra mắt!
Sau khi bắt đầu dịch vụ, chúng tôi có thể nhấp vào “Dịch vụ tùy chỉnh” trong bảng điều khiển AutoDL (được đánh dấu màu đỏ) để được chuyển hướng đến một URL:
Khi mở URL, nếu nó hiển thị lỗi 404, đừng lo lắng. Chỉ cần thêm hậu tố /dolphinscheduler/ui vào URL:
Mô-đun AutoDL mở cổng 6006. Sau khi định cấu hình cổng của DolphinScheduler thành 6006, bạn có thể truy cập nó thông qua điểm vào được cung cấp. Tuy nhiên, do chuyển hướng URL, bạn có thể gặp phải lỗi 404. Trong những trường hợp như vậy, bạn cần hoàn thành URL theo cách thủ công.
Tên người dùng: admin
Mật khẩu: dolphinscheduler123
Sau khi đăng nhập, nhấp vào “Quản lý dự án” để xem dự án được xác định trước có tên “vicuna”. Bấm vào “vicuna” để vào dự án.
Khi vào dự án Vicuna, bạn sẽ thấy ba quy trình công việc: Đào tạo, Triển khai và Kill_Service. Hãy khám phá cách sử dụng chúng và cách định cấu hình các mô hình lớn cũng như huấn luyện dữ liệu của bạn.
Bạn có thể bấm vào nút chạy bên dưới để thực hiện các quy trình công việc tương ứng.
Bằng cách nhấp vào quy trình đào tạo, bạn sẽ thấy hai định nghĩa. Một là để tinh chỉnh mô hình thông qua Lora (chủ yếu sử dụng alpaca-lora, https://github.com/tloen/alpaca-lora ), và hai là hợp nhất mô hình được đào tạo với mô hình cơ sở để có được mô hình cuối cùng .
Quy trình triển khai các mô hình lớn (chủ yếu sử dụng FastChat, https://github.com/lm-sys/FastChat ). Trước tiên, nó sẽ gọi kill_service để hủy mô hình đã triển khai, sau đó tuần tự khởi động bộ điều khiển, thêm mô hình và sau đó mở dịch vụ web Gradio.
Các thông số bắt đầu như sau:
Quy trình công việc này được sử dụng để hủy mô hình đã triển khai và giải phóng bộ nhớ GPU. Quy trình công việc này không có tham số và bạn có thể chạy nó trực tiếp. Nếu cần dừng dịch vụ đã triển khai (chẳng hạn như khi bạn cần đào tạo lại mô hình hoặc khi không đủ bộ nhớ GPU), bạn có thể trực tiếp thực thi quy trình kill_service để hủy dịch vụ đã triển khai.
Sau khi xem qua một vài ví dụ, quá trình triển khai của bạn sẽ hoàn tất. Bây giờ chúng ta hãy xem hoạt động thực tế:
Bắt đầu trực tiếp quy trình làm việc bằng cách thực hiện quy trình đào tạo và chọn các tham số mặc định.
Nhấp chuột phải vào nhiệm vụ tương ứng để xem nhật ký, như hình dưới đây:
Bạn cũng có thể xem trạng thái tác vụ và nhật ký trong bảng phiên bản tác vụ ở dưới cùng bên trái của thanh bên. Trong quá trình đào tạo, bạn có thể theo dõi tiến trình bằng cách kiểm tra nhật ký, bao gồm các bước đào tạo hiện tại, chỉ số tổn thất, thời gian còn lại, v.v. Có một thanh tiến trình cho biết bước hiện tại, trong đó bước = (kích thước dữ liệu * kỷ nguyên) / lô kích cỡ.
Dữ liệu mặc định của chúng tôi nằm trong /root/demo-data/llama_data.json
. Nguồn dữ liệu hiện tại là Huatuo, một mô hình y tế được hoàn thiện bằng dữ liệu y tế của Trung Quốc. Vâng, ví dụ của chúng tôi là đào tạo một bác sĩ gia đình:
Nếu bạn có dữ liệu trong một trường cụ thể, bạn có thể trỏ đến dữ liệu của riêng mình, định dạng dữ liệu như sau:
Ví dụ:
{"instruction": "calculation", "input": "1+1 equals?", "output": "2"}
Xin lưu ý rằng bạn có thể hợp nhất các trường hướng dẫn và nhập liệu vào một trường hướng dẫn duy nhất. Trường đầu vào cũng có thể để trống.
Khi đào tạo, hãy sửa đổi tham số data_path để thực thi dữ liệu của riêng bạn.
Ghi chú:
Trong lần thực hiện đào tạo đầu tiên, mô hình cơ sở sẽ được tìm nạp từ vị trí đã chỉ định, chẳng hạn như TheBloke/vicuna-7B-1.1-HF. Sẽ có một quá trình tải xuống, vì vậy hãy đợi quá trình tải xuống hoàn tất. Việc lựa chọn mô hình này do người dùng quyết định và bạn cũng có thể chọn tải xuống các mô hình lớn nguồn mở khác (vui lòng tuân theo các giấy phép liên quan khi sử dụng chúng).
Do sự cố mạng, quá trình tải xuống mô hình cơ sở có thể không thành công trong quá trình thực hiện đào tạo đầu tiên. Trong những trường hợp như vậy, bạn có thể nhấp vào tác vụ không thành công và chọn chạy lại tác vụ đó để tiếp tục đào tạo. Các hoạt động được hiển thị dưới đây:
Để dừng đào tạo, bạn có thể nhấp vào nút dừng, thao tác này sẽ giải phóng bộ nhớ GPU được sử dụng để đào tạo.
Trên trang định nghĩa quy trình công việc, nhấp vào quy trình triển khai quy trình để chạy và triển khai mô hình.
Nếu bạn chưa đào tạo mô hình của riêng mình, bạn có thể thực thi quy trình triển khai với các tham số mặc định TheBloke/vicuna-7B-1.1-HF để triển khai mô hình vicuna-7b
, như trong hình bên dưới:
Nếu bạn đã đào tạo một mô hình ở bước trước, bây giờ bạn có thể triển khai mô hình của mình. Sau khi triển khai, bạn có thể trải nghiệm mô hình lớn của riêng mình. Các tham số khởi động như sau, trong đó bạn cần điền vào output_path
của mô hình từ bước trước:
Tiếp theo, hãy nhập phiên bản quy trình công việc đã triển khai. Bấm vào phiên bản quy trình làm việc, sau đó bấm vào phiên bản quy trình công việc có tiền tố "triển khai".
Nhấp chuột phải và chọn “refresh_gradio_web_service” để xem nhật ký tác vụ và tìm vị trí của liên kết mô hình lớn của chúng tôi.
Các hoạt động được hiển thị dưới đây:
Trong nhật ký, bạn sẽ tìm thấy một liên kết có thể được truy cập công khai, chẳng hạn như:
Đây là hai liên kết. Không thể truy cập liên kết 0.0.0.0:7860
vì AutoDL chỉ mở cổng 6006, cổng này đã được sử dụng cho trình lập lịch biểu cá heo. Bạn có thể truy cập trực tiếp vào liên kết bên dưới nó, chẳng hạn như [https://81c9f6ce11eb3c37a4.gradio.live.](https://81c9f6ce11eb3c37a4.gradio.live.)
Xin lưu ý rằng liên kết này có thể thay đổi mỗi khi bạn triển khai, vì vậy bạn cần tìm lại liên kết này từ nhật ký.
Khi bạn nhập liên kết, bạn sẽ thấy trang hội thoại của ChatGPT của riêng bạn!
Đúng! Bây giờ bạn đã có ChatGPT của riêng mình và dữ liệu của nó chỉ phục vụ bạn!
Và bạn chỉ chi tiêu ít hơn chi phí của một tách cà phê ~~
Hãy tiếp tục và trải nghiệm ChatGPT riêng của bạn!
Trong thế giới định hướng công nghệ và dựa trên dữ liệu này, việc sở hữu một mô hình ChatGPT chuyên dụng có giá trị vô cùng to lớn. Với sự tiến bộ của trí tuệ nhân tạo và học sâu, chúng ta đang ở trong thời đại mà các trợ lý AI được cá nhân hóa có thể được định hình. Đào tạo và triển khai mô hình ChatGPT của riêng bạn có thể giúp chúng tôi hiểu rõ hơn về AI và cách nó đang thay đổi thế giới của chúng ta.
Tóm lại, việc tự đào tạo và triển khai mô hình ChatGPT có thể giúp bạn bảo vệ quyền riêng tư và bảo mật dữ liệu, đáp ứng các yêu cầu kinh doanh cụ thể, tiết kiệm chi phí công nghệ và tự động hóa quy trình đào tạo bằng các công cụ quy trình làm việc như DolphinScheduler. Nó cũng cho phép bạn tuân thủ luật pháp và quy định của địa phương. Do đó, tự đào tạo và triển khai mô hình ChatGPT là một lựa chọn đáng cân nhắc.
Cũng được xuất bản ở đây .