스타벅스 한 잔과 2시간의 시간 비용으로 훈련된 오픈 소스 대규모 모델을 소유할 수 있습니다. 의료, 프로그래밍 , 주식 거래, 연애 조언 등 다양한 기술을 향상시키기 위해 다양한 훈련 데이터 방향에 따라 모델을 미세 조정하여 대규모 모델이 사용자에 대해 더 잘 "이해"할 수 있습니다. 오픈소스 DolphinScheduler를 활용한 오픈소스 대규모 모델 학습을 시도해 보세요!
ChatGPT의 탄생은 의심할 여지 없이 AI의 미래에 대한 기대를 불러일으켰습니다. 세련된 표현력과 막강한 언어 이해력은 세계를 놀라게 했습니다. 그러나 ChatGPT는 SaaS(Software as a Service)로 제공되기 때문에 개인 정보 유출 및 기업 데이터 보안 문제는 모든 사용자와 회사의 관심사입니다. 오픈소스 대규모 모델이 점점 더 많이 등장하면서 개인과 기업이 자신만의 모델을 가질 수 있게 되었습니다. 그러나 오픈소스 대규모 모델을 시작하고 최적화하고 사용하는 것은 진입 장벽이 높아 누구나 쉽게 사용하기 어렵습니다. 이 문제를 해결하기 위해 우리는 오픈 소스 대규모 모델의 교육, 조정 및 배포에 대한 원클릭 지원을 제공하는 Apache DolphinScheduler를 사용합니다. 이를 통해 모든 사람은 기술 전문 지식과 매우 저렴한 비용으로 자신의 데이터를 사용하여 자신만의 대규모 모델을 훈련할 수 있습니다.
우리의 목표는 전문 AI 엔지니어뿐만 아니라 GPT에 관심이 있는 모든 사람이 자신을 더 잘 "이해"하는 모델을 갖는 기쁨을 누릴 수 있도록 하는 것입니다. 우리는 모든 사람이 자신의 AI 비서를 구성할 권리와 능력을 가지고 있다고 믿습니다. Apache DolphinScheduler의 직관적인 작업 흐름이 이를 가능하게 합니다. 보너스로 Apache DolphinScheduler는 GitHub에서 10,000개 이상의 별을 보유한 빅 데이터 및 AI 일정 관리 도구입니다. Apache Software Foundation의 최상위 프로젝트이므로 무료로 사용할 수 있고 상업적 문제에 대한 걱정 없이 코드를 수정할 수 있습니다.
자신의 데이터로 모델을 훈련시키려는 업계 전문가이든, 딥 러닝 모델의 훈련을 이해하고 탐색하려는 AI 애호가이든, 당사의 워크플로우는 귀하에게 편리한 서비스를 제공할 것입니다. 복잡한 전처리, 모델 교육 및 최적화 단계를 해결하고 1~2시간의 간단한 작업과 20시간의 실행 시간만 있으면 ChatGPT 대규모 모델을 더욱 "이해"할 수 있습니다.
그럼 이 마법같은 여행을 시작해 볼까요! 모두에게 AI의 미래를 선사하겠습니다.
먼저 3090 그래픽 카드가 필요합니다. 데스크톱 컴퓨터가 있는 경우 직접 사용할 수 있습니다. 그렇지 않은 경우 온라인에서 GPU를 사용하여 임대할 수 있는 호스트가 많이 있습니다. 여기서는 적용할 예로 AutoDL을 사용합니다. https://www.autodl.com/home을 열고 등록하고 로그인합니다. 그런 다음 화면에 표시된 1, 2, 3단계에 따라 컴퓨팅 파워 시장에서 해당 서버를 선택할 수 있습니다.
여기서는 높은 가성비를 제공하는 RTX 3090 그래픽 카드를 선택하는 것이 좋습니다. 테스트 결과 1~2명이 RTX 3090을 온라인 작업에 사용할 수 있는 것으로 나타났습니다. 더 빠른 훈련 및 응답 속도를 원한다면 더 강력한 그래픽 카드를 선택할 수 있습니다. 한 번 훈련하는 데는 약 20시간이 소요되고, 테스트에는 약 2~3시간이 소요됩니다. 40위안의 예산으로 쉽게 끝낼 수 있습니다.
커뮤니티 미러를 클릭한 후 아래 빨간색 상자 WhaleOps/dolphinscheduler-llm/dolphinscheduler-llm-0521
입력하세요. 아래와 같이 이미지를 선택할 수 있습니다. 현재는 V1 버전만 사용할 수 있습니다. 향후 새 버전이 출시되면 최신 버전을 선택할 수 있습니다.
모델을 여러 번 학습해야 하는 경우 하드 디스크 용량을 100GB 정도로 확장하는 것이 좋습니다.
생성한 후 다음 이미지에 표시된 진행률 표시줄이 완료될 때까지 기다립니다.
인터페이스에서 자체 오픈 소스 대규모 모델을 배포하고 디버깅하려면 DolphinScheduler 소프트웨어를 시작해야 하며 다음 구성 작업을 수행해야 합니다.
두 가지 방법을 사용할 수 있습니다. 귀하의 선호도에 맞는 것을 선택할 수 있습니다:
아래 표시된 JupyterLab 버튼을 클릭합니다.
페이지가 JupyterLab으로 리디렉션됩니다. 거기에서 "터미널"을 클릭하여 들어갈 수 있습니다.
2. 터미널을 통해 로그인(코더용):
다음 이미지에 표시된 버튼에서 SSH 연결 명령을 얻을 수 있습니다.
그런 다음 터미널을 통해 연결을 설정합니다.
DolphinScheduler에서는 워크플로 정의, 환경 구성, 테넌트 정보 등을 포함한 모든 메타데이터가 데이터베이스에 저장됩니다. DolphinScheduler가 시작될 때 사용자가 이러한 워크플로를 편리하게 볼 수 있도록 사전 정의된 워크플로 메타데이터를 복사하여 직접 가져올 수 있습니다. 화면에서.
터미널을 사용하여 다음 디렉터리로 이동합니다.
cd apache-dolphinscheduler-3.1.5-bin
vim import_ds_metadata.sh
명령을 실행하여 import_ds_metadata.sh
파일을 엽니다. 파일 내용은 다음과 같습니다.
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
xxx.xxx.xxx.x 및 xxxx를 공용 네트워크에 있는 MySQL 데이터베이스의 관련 구성 값으로 바꿉니다(Alibaba Cloud, Tencent Cloud에서 신청하거나 직접 설치할 수 있음). 그런 다음 다음을 실행합니다.
bash import_ds_metadata.sh
실행 후 관심이 있는 경우 데이터베이스에서 해당 메타데이터를 확인할 수 있습니다(MySQL에 연결하여 확인하세요. 코드에 익숙하지 않은 경우 이 단계를 건너뛰세요).
서버 명령줄에서 다음 파일을 열고 구성을 수정하여 DolphinScheduler를 이전에 가져온 데이터베이스와 연결합니다.
/root/apache-dolphinscheduler-3.1.5-bin/bin/env/dolphinscheduler_env.sh
데이터베이스 섹션에서 관련 구성을 수정하고 다른 섹션은 변경하지 않은 채로 둡니다. 'HOST' 및 'PASSWORD' 값을 가져온 데이터베이스의 구성 값(예: xxx.xxx.xxx.x 및 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"......
구성 후 다음을 실행합니다(이 디렉터리 /root/apache-dolphinscheduler-3.1.5-bin에서도):
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
일단 실행되면 tail -200f standalone-server/logs/dolphinscheduler-standalone.log
사용하여 로그를 확인할 수 있습니다. 이 시점에서 DolphinScheduler가 공식적으로 출시되었습니다!
서비스를 시작한 후 AutoDL 콘솔에서 "Custom Services"(빨간색으로 강조 표시됨)를 클릭하여 URL로 리디렉션할 수 있습니다.
URL을 열 때 404 오류가 표시되면 걱정하지 마세요. URL에 /dolphinscheduler/ui 접미사를 추가하면 됩니다.
AutoDL 모듈은 포트 6006을 엽니다. DolphinScheduler의 포트를 6006으로 구성한 후 제공된 진입점을 통해 액세스할 수 있습니다. 그러나 URL 리디렉션으로 인해 404 오류가 발생할 수 있습니다. 이러한 경우에는 URL을 수동으로 완성해야 합니다.
사용자 이름: admin
비밀번호 : dolphinscheduler123
로그인한 후 "프로젝트 관리"를 클릭하면 "vicuna"라는 사전 정의된 프로젝트를 볼 수 있습니다. 프로젝트에 들어가려면 “vicuna”를 클릭하세요.
Vicuna 프로젝트에 들어가면 Training, Deploy, Kill_Service라는 세 가지 워크플로우가 표시됩니다. 그 용도와 대규모 모델을 구성하고 데이터를 훈련하는 방법을 살펴보겠습니다.
아래 실행 버튼을 클릭하면 해당 워크플로를 실행할 수 있습니다.
학습 워크플로를 클릭하면 두 가지 정의가 표시됩니다. 하나는 Lora를 통해 모델을 미세 조정하는 것이고(주로 alpaca-lora 사용, https://github.com/tloen/alpaca-lora ), 다른 하나는 훈련된 모델을 기본 모델과 병합하여 최종 모델을 얻는 것입니다. .
대규모 모델 배포를 위한 워크플로(주로 FastChat 사용, https://github.com/lm-sys/FastChat ) 먼저 kill_service를 호출하여 배포된 모델을 종료한 다음 순차적으로 컨트롤러를 시작하고 모델을 추가한 다음 Gradio 웹 서비스를 엽니다.
시작 매개변수는 다음과 같습니다.
이 워크플로는 배포된 모델을 종료하고 GPU 메모리를 해제하는 데 사용됩니다. 이 워크플로우에는 매개변수가 없으며 직접 실행할 수 있습니다. 배포된 서비스를 중지해야 하는 경우(예: 모델을 재교육해야 하거나 GPU 메모리가 부족한 경우) kill_service 워크플로를 직접 실행하여 배포된 서비스를 종료할 수 있습니다.
몇 가지 예를 거치면 배포가 완료됩니다. 이제 실제 작업을 살펴보겠습니다.
학습 워크플로를 실행하고 기본 매개변수를 선택하여 워크플로를 직접 시작합니다.
아래와 같이 해당 작업을 마우스 오른쪽 버튼으로 클릭하면 로그를 볼 수 있습니다.
사이드바 왼쪽 하단에 있는 작업 인스턴스 패널에서 작업 상태 및 로그를 볼 수도 있습니다. 훈련 과정 중에 현재 훈련 단계, 손실 지표, 남은 시간 등을 포함한 로그를 확인하여 진행 상황을 모니터링할 수 있습니다. 현재 단계를 나타내는 진행률 표시줄이 있습니다. 여기서 단계는 (데이터 크기 * 에포크) / 배치입니다. 크기.
기본 데이터는 /root/demo-data/llama_data.json
에 있습니다. 현재 데이터 소스는 중국 의료 데이터를 사용해 미세 조정된 의료 모델인 Huatuo입니다. 그렇습니다. 우리의 예는 가정의를 훈련시키는 것입니다.
특정 필드에 데이터가 있는 경우 자신의 데이터를 가리킬 수 있으며 데이터 형식은 다음과 같습니다.
예를 들어:
{"instruction": "calculation", "input": "1+1 equals?", "output": "2"}
명령 필드와 입력 필드를 단일 명령 필드로 병합할 수 있습니다. 입력 필드를 비워 둘 수도 있습니다.
학습 시 data_path 매개변수를 수정하여 자체 데이터를 실행하세요.
메모:
첫 번째 훈련 실행 중에 기본 모델은 TheBloke/vicuna-7B-1.1-HF와 같은 지정된 위치에서 가져옵니다. 다운로드 과정이 있으므로 다운로드가 완료될 때까지 기다려 주시기 바랍니다. 이 모델의 선택은 사용자에 의해 결정되며, 다른 오픈 소스 대형 모델을 다운로드하도록 선택할 수도 있습니다(사용 시 관련 라이센스를 따르십시오).
네트워크 문제로 인해 기본 모델 다운로드가 첫 번째 훈련 실행 중간에 실패할 수 있습니다. 이러한 경우 실패한 작업을 클릭하고 다시 실행하여 훈련을 계속할 수 있습니다. 작업은 아래와 같습니다.
훈련을 중지하려면 중지 버튼을 클릭하면 훈련에 사용된 GPU 메모리가 해제됩니다.
워크플로 정의 페이지에서 배포 워크플로를 클릭하여 실행하고 모델을 배포합니다.
자체 모델을 교육하지 않은 경우 아래 이미지에 표시된 대로 기본 매개변수 TheBloke/vicuna-7B-1.1-HF를 사용하여 배포 워크플로를 실행하여 vicuna-7b
모델을 배포할 수 있습니다.
이전 단계에서 모델을 훈련했다면 이제 모델을 배포할 수 있습니다. 배포 후에는 자신만의 대형 모델을 체험해 볼 수 있습니다. 시작 매개변수는 다음과 같습니다. 여기서는 이전 단계에서 모델의 output_path
채워야 합니다.
다음으로 배포된 워크플로 인스턴스를 입력해 보겠습니다. 워크플로 인스턴스를 클릭한 다음 "배포" 접두사가 있는 워크플로 인스턴스를 클릭합니다.
마우스 오른쪽 버튼을 클릭하고 "refresh_gradio_web_service"를 선택하여 작업 로그를 보고 대형 모델 링크의 위치를 찾으세요.
작업은 아래와 같습니다.
로그에는 다음과 같이 공개적으로 액세스할 수 있는 링크가 있습니다.
여기에 두 개의 링크가 있습니다. AutoDL은 이미 DolphinScheduler에 사용되는 포트 6006만 열기 때문에 0.0.0.0:7860
링크에 액세스할 수 없습니다. [https://81c9f6ce11eb3c37a4.gradio.live.](https://81c9f6ce11eb3c37a4.gradio.live.)
등 아래 링크로 바로 접속하실 수 있습니다.
이 링크는 배포할 때마다 변경될 수 있으므로 로그에서 다시 찾아야 한다는 점에 유의하세요.
링크를 입력하면 자신의 ChatGPT 대화 페이지가 나타납니다!
예! 이제 나만의 ChatGPT가 있으며 해당 데이터는 귀하에게만 제공됩니다!
그리고 커피 한잔 값도 안 되는 돈을 썼네요~~
계속해서 나만의 비공개 ChatGPT를 경험해 보세요!
이 데이터 중심 및 기술 중심 세계에서 전용 ChatGPT 모델을 갖는 것은 헤아릴 수 없는 가치를 갖습니다. 인공지능과 딥러닝의 발전으로 개인화된 AI 비서가 탄생하는 시대가 도래했습니다. 자체 ChatGPT 모델을 교육하고 배포하면 AI와 AI가 세상을 어떻게 변화시키고 있는지 더 잘 이해하는 데 도움이 될 수 있습니다.
요약하자면, ChatGPT 모델을 직접 교육하고 배포하면 데이터 보안 및 개인 정보 보호를 보호하고, 특정 비즈니스 요구 사항을 충족하고, 기술 비용을 절약하고, DolphinScheduler와 같은 워크플로 도구를 사용하여 교육 프로세스를 자동화하는 데 도움이 될 수 있습니다. 또한 이를 통해 현지 법률 및 규정을 준수할 수 있습니다. 따라서 스스로 ChatGPT 모델을 교육하고 배포하는 것은 고려해 볼 가치가 있는 옵션입니다.
여기에도 게시되었습니다.