모델 소개
Alpaca 모델은 스탠포드 대학교에서 개발한 LLM(Large Language Model, 대형 언어) 오픈 소스 모델입니다. LLaMA 7B(Meta 사의 오픈 소스 7B) 모델을 미세 조정한 70억 모델입니다. 52K 지침. 매개변수(모델 매개변수가 클수록 모델의 추론 능력이 강해지며, 물론 모델 교육 비용도 높아집니다)
LoRA의 정식 영어 이름은 Low-Rank Adaptation of Large Language Models이며, 말 그대로 Low-level Adaptation of Large Language Models로 번역됩니다. 이는 대규모 언어 모델의 미세 조정 문제를 해결하기 위해 Microsoft 연구진이 개발한 기술입니다. 사전 훈련된 대형 언어 모델이 특정 분야의 작업을 수행할 수 있도록 하려면 일반적으로 미세 조정을 수행해야 합니다. 그러나 현재 추론에 능숙한 대형 언어 모델의 매개 변수 크기는 매우 매우 큽니다. , 일부는 심지어 수천억 차원에 달합니다. 대규모 언어 모델에서 직접 미세 조정을 수행하려면 매우 많은 양의 계산과 매우 높은 비용이 필요합니다.
'LoRA의 방법은 사전 학습된 모델 매개변수를 동결한 다음 각 Transformer 블록에 학습 가능한 레이어를 주입하는 것입니다. 모델 매개변수의 기울기를 다시 계산할 필요가 없으므로 계산량이 크게 줄어듭니다.
아래 그림과 같이 원래의 사전 학습된 모델에 우회를 추가하고 차원 축소를 수행한 후 차원 연산을 수행하는 것이 핵심 아이디어입니다. 학습 중에는 사전 학습된 모델의 매개변수가 고정되어 있으며 차원 축소 행렬 A와 차원 향상 행렬 B만 학습됩니다. 모델의 입력 및 출력 차원은 변경되지 않고 그대로 유지되며 사전 훈련된 언어 모델의 BA 및 매개변수가 출력에 중첩됩니다.
A를 임의의 가우스 분포로 초기화하고 B를 0 행렬로 초기화합니다. 이렇게 하면 훈련 중에 새로운 우회 BA=0이 보장되어 모델 결과에 영향을 주지 않습니다. 추론하는 동안 왼쪽 부분과 오른쪽 부분의 결과가 함께 추가됩니다. 즉, h=Wx+BAx=(W+BA)x이므로 훈련 후 행렬 곱 BA를 추가하고 원래 가중치 행렬 W를 새 값으로 추가하면 됩니다. 가중치는 원래 사전 훈련된 언어 모델의 W로 대체될 수 있으며 추가 컴퓨팅 리소스는 추가되지 않습니다. LoRA의 가장 큰 장점은 더 빠르게 학습하고 더 적은 메모리를 사용한다는 것입니다.
이 글에서 현지화된 배포 실습에 사용된 Alpaca-lora 모델은 Alpaca 모델의 하위 적응 버전입니다. 이 문서에서는 Alpaca-lora 모델의 현지화 배포, 미세 조정 및 추론 프로세스를 연습하고 관련 단계를 설명합니다.
GPU 서버 환경 배포
이 기사에 배포된 GPU 서버에는 4개의 독립적인 GPU가 있습니다. 모델은 P40입니다. 단일 P40의 컴퓨팅 성능은 동일한 기본 주파수에서 60개의 CPU와 동일합니다.
테스트용으로만 물리적 카드가 너무 비싸다고 생각된다면 GPU 클라우드 서버인 "교체 버전"을 사용할 수도 있습니다. 물리적 카드와 비교하여 GPU 클라우드 서버를 사용하여 구축하면 유연한 고성능 컴퓨팅이 보장될 뿐만 아니라 다음과 같은 이점도 있습니다.
- 높은 비용 성능: 시간 단위로 청구되며 시간당 12위안밖에 되지 않으며 배포 가능 유연한 리소스 관리, 확장성 및 탄력적인 확장과 같은 클라우드 컴퓨팅의 장점은 비즈니스 또는 개인 교육 요구 사항에 따라 컴퓨팅 리소스를 신속하게 조정하여 모델 교육 및 배포 요구 사항을 충족할 수 있습니다. 리소스 공유 및 협업이 쉬워 AI 모델 연구 및 적용을 위한 폭넓은 협력 기회 제공
- 풍부한 API 및 SDK: 클라우드 컴퓨팅 공급업체는 풍부한 API 및 SDK를 제공하여 사용자가 쉽게 액세스할 수 있도록 합니다. cloud 플랫폼의 다양한 서비스와 기능을 맞춤형으로 개발하고 통합합니다.
- JD Cloud의 GPU 클라우드 호스트는 현재 618 이벤트를 진행하고 있는데, 이는 매우 비용 효율적입니다
https://www.php.cn/link/5d3145e1226fd39ee3b3039bfa90c95d
GPU 서버를 구한 후 가장 먼저 우리가 해야 할 일은 그래픽 카드 드라이버와 CUDA 드라이버(그래픽 카드 제조업체인 NVIDIA가 출시한 컴퓨팅 플랫폼입니다. CUDA는 NVIDIA가 출시한 일반적인 병렬 컴퓨팅 아키텍처로, GPU가 복잡한 컴퓨팅 문제를 해결할 수 있게 해줍니다)를 설치하는 것입니다.
그래픽 카드 드라이버는 NVIDIA의 공식 웹사이트로 이동하여 해당 그래픽 카드 모델과 적합한 CUDA 버전을 찾아야 합니다. 다운로드 주소:
https://www.nvidia.com/Download/index.aspx 및 해당 그래픽을 선택하세요. 카드 및 CUDA 버전의 드라이버 파일을 다운로드할 수 있습니다.NVIDIA-Linux-x86_64-515.105.01.run, 이 파일은 루트 권한으로 실행할 수 있습니다. 드라이버 설치 과정에서는 nvidia 프로세스를 실행할 수 없습니다. 필요한 경우 모두 종료하세요. , 아래 그림과 같이 설치가 실패합니다.
그런 다음 오류가 보고되지 않으면 설치가 성공합니다. 나중에 그래픽 카드 리소스를 확인하려면 nvitop과 같은 다른 그래픽 카드 모니터링 도구를 설치하는 것이 가장 좋습니다. 여기서는 서버마다 Python 버전이 다르기 때문에 anaconda를 설치하는 것이 가장 좋습니다. 실행 시 발생하는 다양한 이상한 오류를 방지하기 위해 자신만의 개인 Python 공간을 배포합니다. 구체적인 단계는 다음과 같습니다.
1. 다운로드 방법: wget
https://repo.anaconda.com/archive/Anaconda3-5.3 .0-리눅스-x86_64.sh. 설치 명령: sh Anaconda3-5.3.0-Linux-x86_64.sh 각 설치 단계에 "yes"를 입력하고 conda init 후 마지막으로 설치를 완료하면 설치 사용자 세션에 들어갈 때마다 직접 입력하게 됩니다. 파이썬 환경. 설치 마지막 단계에서 no를 선택하면, 즉 conda init가 수행되지 않으면 나중에 소스 /home/jd_ad_sfxn/anaconda3/bin/activate를 통해 프라이빗 Python 환경으로 들어갈 수 있습니다.
2. setuptools 설치 다음으로 패키징 및 배포 도구 setuptools를 설치해야 합니다. 다운로드 주소: wget
https://files.pythonhosted.org/packages/26/e5/9897eee1100b166a61f91b68528cb692e8887300d9cbdaa1a349f6304b79/setuptool s-40 .5.0.zip 설치 명령: unzip setuptools-40.5.0.zip cd setuptools-40.5.0/ python setup.py install
3. pip 설치 다운로드 주소: wget
https://files.pythonhosted.org/packages/45/ae/8a0ad77defb7cc903f09e551d88b443304a9bd6e6f124e75c0 fbbf 6de8f7/pip- 18.1.tar.gz 설치 명령: tar -xzf pip-18.1.tar.gz cd pip-18.1 python setup.py install
이 시점에서 기나긴 설치 과정이 드디어 끝났습니다. 프라이빗 파이썬 공간을 생성하고
conda create -n alpaca pythnotallow=3.9conda activate alpaca
를 실행한 후 확인하면 아래 그림과 같이 성공적으로 생성되었음을 의미합니다.
모델 훈련
위에서 GPU 서버의 기본 환경이 설치되었습니다. 이제 흥미로운 모델 훈련(exciting)을 시작하겠습니다. 먼저 모델 파일을 다운로드해야 합니다. 다운로드 주소:
https //github.com/tloen/alpaca-lora, 전체 모델이 오픈 소스이므로 훌륭합니다! 먼저 모델 파일을 로컬로 다운로드하고 git clone https://github.com/tloen/alpaca-lora.git을 실행합니다.
로컬에 alpaca-lora 폴더가 있을 것이고, 폴더 내에서 실행하기 위해 cd alpaca-lora가 있을 것입니다.
pip install -r requirements.txt
이 프로세스는 속도가 느릴 수 있으며 인터넷에서 많은 수의 종속 패키지를 다운로드해야 할 수도 있습니다. 다양한 패키지 충돌이 발생할 수도 있습니다. 프로세스 중에 보고되면 종속성에 문제가 없으므로 무엇이 누락되었는지 찾으려고 노력할 수밖에 없습니다(패키지 종속성과 버전 충돌을 해결하는 것은 실제로 골치 아픈 일이지만 이 단계를 잘 수행하지 않으면 모델이 작동하지 않습니다). 인내심을 갖고 조금씩 해결하세요.) 여기서는 고통스러운 과정에 대해 자세히 설명하지 않겠습니다. 왜냐하면 기계마다 다른 문제가 발생할 수 있고 참조 중요성이 그리 크지 않기 때문입니다.
설치 프로세스가 완료되고 더 이상 오류 메시지와 성공 완료 메시지가 표시되지 않으면 축하합니다. 이제 긴 행진의 절반을 완료한 것입니다. 조금 더 지속하면 성공할 가능성이 매우 높습니다. 성공하기 위해. 라:).
모델을 미세 조정하는 것이 목표이므로 미세 조정 목표가 있어야 합니다. 원래 모델은 중국어를 잘 지원하지 않기 때문에 중국어 코퍼스를 사용하여 모델을 더 좋게 만드는 것이 목표입니다. . 이 커뮤니티에서는 중국어 코퍼스를 직접 다운로드하고 로컬에서 wget을 실행할 수도 있습니다. =true, 나중에 모델 훈련에 사용되는 말뭉치를 alpaca-lora의 루트 디렉터리에 다운로드합니다(나중에 사용하기 편리하도록).
好的,到现在为止,万里长征已经走完2/3了,别着急训练模型,我们现在验证一下GPU环境和CUDA版本信息,还记得之前我们安装的nvitop嘛,现在就用上了,在本地直接执行nvitop,我们就可以看到GPU环境和CUDA版本信息了,如下图:
在这里我们能够看到有几块显卡,驱动版本和CUDA版本等信息,当然最重要的我们还能看到GPU资源的实时使用情况。
怎么还没到模型训练呢,别着急呀,这就来啦。
我们先到根目录下然后执行训练模型命令:
如果是单个GPU,那么执行命令即可:
python finetune.py \--base_model 'decapoda-research/llama-7b-hf' \--data_path 'trans_chinese_alpaca_data.json' \--output_dir './lora-alpaca-zh'
如果是多个GPU,则执行:
WORLD_SIZE=2 CUDA_VISIBLE_DEVICES=0,1 torchrun \--nproc_per_node=2 \--master_port=1234 \finetune.py \--base_model 'decapoda-research/llama-7b-hf' \--data_path 'trans_chinese_alpaca_data.json' \--output_dir './lora-alpaca-zh'
如果可以看到进度条在走,说明模型已经启动成功啦。
在模型训练过程中,每迭代一定数量的数据就会打印相关的信息,会输出损失率,学习率和代信息,如上图所示,当loss波动较小时,模型就会收敛,最终训练完成。
我用的是2块GPU显卡进行训练,总共训练了1904分钟,也就是31.73个小时,模型就收敛了,模型训练是个漫长的过程,所以在训练的时候我们可以适当的放松一下,做点其他的事情:)。
模型推理
模型训练好后,我们就可以测试一下模型的训练效果了,由于我们是多个GPU显卡,所以想把模型参数加载到多个GPU上,这样会使模型推理的更快,需要修改
generate.py 文件,添加下面这样即可。
然后我们把服务启起来,看看效果,根目录执行:
python generate.py --base_model "decapoda-research/llama-7b-hf" \--lora_weights './lora-alpaca-zh' \--load_8bit
其中./lora-alpaca-zh目录下的文件,就是我们刚刚fine tuning模型训练的参数所在位置,启动服务的时候把它加载到内存(这个内存指的是GPU内存)里面。
如果成功,那么最终会输出相应的IP和Port信息,如下图所示:
我们可以用浏览器访问一下看看,如果能看到页面,就说明服务已经启动成功啦。
激动ing,费了九牛二虎之力,终于成功啦!!
因为我们目标是让模型说中文,所以我们测试一下对中文的理解,看看效果怎么样?
简单的问题,还是能给出答案的,但是针对稍微复杂一点的问题,虽然能够理解中文,但是并没有用中文进行回答,训练后的模型还是不太稳定啊。
在推理的时候我们也可以监控一下GPU的变化,可以看到GPU负载是比较高的,说明GPU在进行大量的计算来完成推理。
总结
1.效果问题:由于语料库不够丰富,所以目前用社区提供的语料库训练的效果并不是很好,对中文的理解力有限,如果想训练出能够执行特定领域的任务,则需要大量的语料支持,同时训练时间也会更长;
2. 추론 시간 문제: 현재 배포된 GPU 서버는 4개의 GPU를 가지고 있기 때문에 3개의 GPU를 기반으로 하여 실제 상호 작용을 실행하는 데 약 30초~1분 정도가 소요됩니다. -chatGPT와 같은 시간 반환을 지원하려면 많은 컴퓨팅 파워가 필요합니다. chatGPT의 백엔드에는 대규모 컴퓨팅 파워 클러스터가 지원되어야 한다는 것을 유추할 수 있으므로 서비스로 만들려면 비용 투자가 문제입니다.
3. 중국어로 된 코드 문제: 중국어를 입력하면 반환된 결과가 깨져 나오는 경우가 있습니다. 중국어 인코딩 문제로 인해 중국어가 공백으로 구분되지 않는 경우가 있습니다. 영어와 마찬가지로 어느 정도 왜곡된 코드가 있을 수 있습니다. AI API에도 이러한 상황이 있을 수 있습니다. 나중에 커뮤니티에서 해당 솔루션을 확인할 수 있습니다.
4. 현재 GPT 커뮤니티에서는 상대적으로 활발하고, 모델의 생성과 변경도 하루가 다르게 변하고 있습니다. 시간이 촉박하기 때문에 현재는 알파카로라 모델의 현지화 배포를 통해 더 좋고 저렴한 구현 솔루션이 있어야 합니다. 향후 실제 애플리케이션을 위해서는 커뮤니티의 발전을 계속해서 따르고 적절한 오픈 소스 솔루션을 선택하는 것이 필요합니다.
JD Cloud P40 모델 GPU의 [ChatGLM 언어 모델] 실습에 대한 자세한 내용은 다음을 참조하세요. https://www.php.cn/link/f044bd02e4fe1aa3315ace7645f8597a
저자: JD Retail Luo Yongjian
콘텐츠 출처: JD Cloud Developer 커뮤니티
위 내용은 GPT 대형 언어 모델 Alpaca-lora 현지화 배포 실습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

과학자들은 C. el 그러나 중요한 질문이 발생합니다. 새로운 AI S와 함께 효과적으로 작동하도록 우리 자신의 신경망을 어떻게 조정합니까?

Google의 Gemini Advanced : 수평선의 새로운 가입 계층 현재 Gemini Advanced에 액세스하려면 $ 19.99/월 Google One AI Premium Plan이 필요합니다. 그러나 Android Authority 보고서는 다가오는 변경 사항을 암시합니다. 최신 Google p. 내 코드

고급 AI 기능을 둘러싼 과대 광고에도 불구하고 Enterprise AI 배포 내에서 상당한 도전 과제 : 데이터 처리 병목 현상. CEO는 AI 발전을 축하하는 동안 엔지니어는 느린 쿼리 시간, 과부하 파이프 라인,

문서 처리는 더 이상 AI 프로젝트에서 파일을 여는 것이 아니라 혼돈을 명확하게 전환하는 것입니다. PDF, PowerPoint 및 Word와 같은 문서는 모든 모양과 크기로 워크 플로우를 범람합니다. 구조화 된 검색

Google의 에이전트 개발 키트 (ADK)의 전력을 활용하여 실제 기능을 갖춘 지능형 에이전트를 만듭니다! 이 튜토리얼은 Gemini 및 GPT와 같은 다양한 언어 모델을 지원하는 ADK를 사용하여 대화 에이전트를 구축하는 것을 안내합니다. w

요약: SLM (Small Language Model)은 효율성을 위해 설계되었습니다. 자원 결핍, 실시간 및 개인 정보 보호 환경에서 LLM (Large Language Model)보다 낫습니다. 초점 기반 작업, 특히 도메인 특이성, 제어 성 및 해석 성이 일반적인 지식이나 창의성보다 더 중요합니다. SLM은 LLM을 대체하지는 않지만 정밀, 속도 및 비용 효율성이 중요 할 때 이상적입니다. 기술은 더 적은 자원으로 더 많은 것을 달성하는 데 도움이됩니다. 그것은 항상 운전자가 아니라 프로모터였습니다. 증기 엔진 시대부터 인터넷 버블 시대에 이르기까지 기술의 힘은 문제를 해결하는 데 도움이되는 정도입니다. 인공 지능 (AI) 및보다 최근에 생성 AI가 예외는 아닙니다.

컴퓨터 비전을위한 Google Gemini의 힘을 활용 : 포괄적 인 가이드 주요 AI 챗봇 인 Google Gemini는 강력한 컴퓨터 비전 기능을 포괄하기 위해 대화를 넘어서 기능을 확장합니다. 이 안내서는 사용 방법에 대해 자세히 설명합니다

2025 년의 AI 환경은 Google의 Gemini 2.0 Flash와 Openai의 O4-Mini가 도착하면서 전기가 전환됩니다. 이 최첨단 모델은 몇 주 간격으로 발사되어 비슷한 고급 기능과 인상적인 벤치 마크 점수를 자랑합니다. 이 심층적 인 비교


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

드림위버 CS6
시각적 웹 개발 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
