AIGC 모델을 더 잘, 더 빠르고, 더 저렴하게 훈련하고 미세 조정하는 방법은 AIGC의 상용화 및 적용 폭발의 가장 큰 문제점이 되었습니다.
Colossal-AI는 대형 모델 민주화, 오픈 소스 및 완전한 Stable Diffusion 사전 훈련 및 개인별 미세 조정 솔루션에 대한 축적된 전문 지식을 기반으로 사전 훈련 시간을 가속화하고 경제적 비용을 6.5배 절감하며 맞춤형 벌금을 줄입니다. - 하드웨어 비용을 7배로 조정하세요! 개인용 컴퓨터의 RTX 2070/3050에서 미세 조정 작업 프로세스를 빠르게 완료할 수 있어 Stable Diffusion과 같은 AIGC 모델을 쉽게 사용할 수 있습니다.
오픈 소스 주소:
https://github.com/hpcaitech/ColossalAI
AIGC(AI-Generated Content)는 현재 AI 분야에서 가장 뜨거운 주제 중 하나입니다. 먼저, 특히 Stable Diffusion, Midjourney, NovelAI, DALL-E 등으로 대표되는 텍스트 생성 이미지의 크로스 모달 애플리케이션이 등장하면서 AIGC가 대중화되고 광범위한 관심을 끌었습니다.
안정적인 확산으로 이미지 생성
AIGC는 많은 산업 수요를 자극했기 때문에 차세대 AI 물결의 중요한 방향 중 하나로 간주되어 왔습니다. 업계에서는 AIGC 기반 솔루션의 출현을 널리 기대하고 있습니다. 텍스트, 오디오, 이미지 비디오 및 게임에서 새로운 기술 혁명과 메타버스 및 메타버스와 같은 기술 시나리오의 킬러 애플리케이션입니다. 관련 시나리오에서 AIGC의 성공적인 상용화와 잠재적인 수조 달러 시장은 관련 스타트업을 자본의 사랑으로 만들었습니다. 예를 들어 Stability AI, Jasper 등은 단 1~2년 만에 수억 달러의 자금을 조달했습니다. 창립 이래로 짐승의 행렬로 승격되었습니다.
AI 모델 규모와 성능이 동시에 성장하고 있습니다
그러나 높은 하드웨어 요구 사항과 교육 비용은 여전히 AIGC 산업의 빠른 발전을 심각하게 방해하고 있습니다. AIGC 애플리케이션의 탁월한 성능은 종종 GPT-3 또는 Stable Diffusion과 같은 대규모 모델을 기반으로 구축되며 특정 다운스트림 작업 및 애플리케이션에 맞게 미세 조정됩니다. 인기 있는 Stable Diffusion을 예로 들어 보겠습니다. Stability AI는 설립된 지 얼마 되지 않았지만 4,000개 이상의 NVIDIA A100 GPU 클러스터를 유지하고 있으며 이 목적을 위해 5천만 달러 이상의 운영 비용을 지출했습니다. v1 버전의 모델만 이 교육에는 150,000 A100 GPU 시간이 필요합니다.
확산 모델(확산 모델)에 대한 아이디어는 2015년 논문 Deep Unsupervised Learning using Nonequilibrium Thermodynamics에서 처음 제안되었으며 2020년 논문 Denoising Diffusion Probabilistic Models(DDPM)은 이를 새로운 수준으로 끌어올렸습니다. 이후 DALL-E 2, Imagen 및 확산 모델의 Stable Diffusion을 기반으로 생성 시 GAN(Generative Adversarial Networks), VAE(Variable Differential Autoencoders) 및 AR(Autoregressive Models)과 같은 기존 생성 모델보다 훨씬 더 나은 결과를 얻었습니다. 작업.
확산 모델은 순방향 확산 프로세스와 역방향 생성 프로세스로 구성됩니다. 순방향 확산 프로세스는 랜덤 노이즈가 될 때까지 이미지에 가우시안 노이즈를 점진적으로 추가하는 반면, 역방향 생성 프로세스는 랜덤 노이즈 제거 프로세스입니다. 이미지가 생성될 때까지 여러 U-Net을 사용하여 노이즈를 점진적으로 제거합니다. 이는 확산 모델 교육의 일부이기도 합니다.
Latent Diffusion 모델
전통적인 엔드-투-엔드 딥 러닝 모델과 비교했을 때, 확산 모델 자체의 학습 과정은 Stable Diffusion을 예로 들면 확실히 더 복잡합니다. 또한 텍스트 프롬프트를 입력하는 Frozen CLIP Textcoder와 고해상도 이미지를 잠재 공간(Latent Space)으로 압축하고 각 시간 단계에서 손실을 계산하는 자동 인코더 구현입니다. 이는 그래픽 메모리 오버헤드와 교육 솔루션의 컴퓨팅 속도에 더 큰 문제를 야기합니다.
사전 훈련 최적화
사전 훈련의 경우 일반적으로 배치 크기가 클수록 훈련 속도가 빨라집니다. 확산 모델은 비슷합니다. Colossal-AI는 ZeRO, Gemini, Chunk 기반 메모리 관리 전략과 Flash Attention 모듈을 통해 교차 어텐션 계산을 최적화합니다. 이는 확산 모델 교육의 메모리 오버헤드를 크게 줄여 사용자가 10G 메모리가 포함된 소비자급 그래픽 카드를 사용할 수 있도록 합니다(예: RTX3080) 최대 단일 카드 배치 크기 256으로 훈련을 직접 지원할 수 있는 A100과 같은 전용 그래픽 카드에서 확산 모델을 훈련할 수 있습니다. stable-diffusion-v1-1과 비교하여 FP32의 DDP(DistributedDataParallel) 훈련은 다음을 수행할 수 있습니다. 6.5배 가속됩니다. 이는 수백만 달러에 달하는 훈련 비용을 6.5배로 줄일 수 있어 AIGC 산업의 훈련 비용과 진입 장벽을 크게 낮출 수 있다는 의미입니다!
Colossal-AI의 Stable Diffusion 가속
Stable Diffusion의 사전 학습에 사용된 LAION-5B 데이터 세트로 인해 총 5,850억 개의 이미지와 텍스트 쌍이 포함되어 있으며, 모델의 복잡성과 결합하여 240TB의 저장 공간이 필요하며 완전한 사전 훈련 비용은 매우 높습니다. Stable Diffusion의 Stability 팀은 4,000개의 A100 GPU를 배포하는 데 5천만 달러 이상을 지출했습니다. 대부분의 AIGC 플레이어에게 보다 실용적인 옵션은 개인화 다운스트림 작업을 미세 조정하기 위해 오픈 소스 사전 훈련된 모델 가중치를 사용하는 것입니다.
그러나 기존의 다른 오픈소스 미세 조정 솔루션에서 사용되는 훈련 병렬화 방법은 주로 DDP이므로 훈련 과정에서 엄청난 양의 비디오 메모리 사용량이 발생합니다. 심지어 미세 조정에도 최소한 최고급 소비자급 그래픽이 필요합니다. RTX 3090 또는 4090 카드를 사용하여 시작하세요. 동시에, 이 단계의 많은 오픈 소스 교육 프레임워크는 완전한 교육 구성 및 스크립트를 제공하지 않으므로 사용자는 지루한 완료 및 디버깅에 추가 시간을 소비해야 합니다.
다른 솔루션과 달리 Colossal-AI는 오픈 소스의 완전한 훈련 구성 매개변수와 훈련 스크립트를 동시에 제공하는 최초의 솔루션입니다. 이를 통해 사용자는 언제든지 새로운 다운스트림 작업을 위한 최신 버전의 분할 모델을 보다 유연하게 훈련할 수 있습니다. 사용 및 적용 범위가 더 넓어졌습니다. 그리고 Colossal-AI는 비디오 메모리 최적화 및 기타 기술을 도입하기 때문에 일반 개인용 컴퓨터(예: GeForce RTX 2070/3050 8GB)의 단일 소비자급 그래픽 카드에서만 미세 조정 작업 프로세스를 신속하게 완료할 수 있습니다. RTX 3090이나 4090의 경우 하드웨어 비용을 약 7배 절감할 수 있어 Stable Diffusion 등 AIGC 모델을 사용하는 데 드는 임계값과 비용을 크게 줄여 사용자가 더 이상 기존 가중치 추론에 얽매이지 않고 개인화된 맞춤 서비스를 빠르고 쉽게 완성할 수 있습니다. . 속도에 민감하지 않은 작업의 경우 저렴한 하드 디스크 공간을 사용하여 그래픽 메모리 소비를 줄이는 Colossal-AI NVMe를 추가로 사용할 수 있습니다.
Colossal-AI의 메모리 감소를 안정적인 확산으로
ZeRO + Gemini
Colossal-AI의 최적화 기술은 Zero Redundancy Optimizer(ZeRO) 방식을 사용하여 메모리 중복성을 제거하도록 지원합니다. 기존 데이터 병렬화 전략과 비교하여 계산 세분성 및 통신 효율성을 희생하지 않고도 메모리 사용 효율성을 크게 향상시킬 수 있습니다.
Colossal-AI는 Chunk 메커니즘을 도입하여 ZeRO의 성능을 더욱 향상시킬 수 있습니다. 연산 순서에 따라 연속된 매개변수 그룹은 청크(청크는 메모리 공간의 연속적인 부분)에 저장되며, 각 청크는 동일한 크기를 갖습니다. 메모리를 구성하는 청크 방식은 PCI-e와 GPU-GPU 간의 네트워크 대역폭을 효율적으로 활용하고 통신 횟수를 줄이며 잠재적인 메모리 조각화를 방지할 수 있습니다.
Chunk Mechanism
또한 Colossal-AI의 이기종 메모리 공간 관리자 Gemini는 GPU 메모리 사용량을 절약하기 위해 GPU에서 CPU로 최적화 상태 오프로드를 지원합니다. GPU 메모리와 CPU 메모리(CPU DRAM 또는 NVMe SSD 메모리로 구성)를 동시에 사용하면 단일 GPU 메모리 벽의 한계를 극복하고 학습 가능한 모델의 규모를 더욱 확장할 수 있습니다.
Zero + Gemini를 통해 하드웨어의 모델 용량 향상
Flash Attention
LDM(Latent Diffusion Models)은 모델 아키텍처에 Cross-Attention(Cross-Attention Layer)을 도입하여 다중 모달 학습을 구현합니다. 이를 통해 확산 모델은 클래스 조건, 텍스트-이미지, 레이아웃-이미지를 보다 유연하게 지원할 수 있습니다. 그러나 Cross-Attention 계층은 원래 Diffusion 모델의 CNN 계층에 비해 추가 계산 오버헤드를 추가하므로 훈련 비용이 크게 증가합니다.
Colossal-AI는 Flash Attention 메커니즘을 도입하여 주의 속도를 104% 높이고 엔드투엔드 훈련의 최대 메모리를 23% 줄이는 데 성공했습니다. 플래시 어텐션은 긴 시퀀스 어텐션을 위한 가속 버전입니다. Flatten은 GPU 고대역폭 메모리(HBM) 간의 메모리 읽기/쓰기 횟수를 줄이는 데 사용되며, 블록형 어텐션과 희소 어텐션을 위한 대략적인 어텐션 알고리즘도 설계합니다. 기존의 대략적인 주의 방법.
Colossal-AI는 FP16 및 활성화 체크포인트와 같은 일반적인 최적화 기술도 통합합니다. 예를 들어 계산을 메모리로 교환하여 체크포인트 작업을 활성화합니다. 역방향 계산을 위해 전체 계산 그래프의 모든 중간 활성화를 저장하지 않고 체크포인트 부분에 중간 활성화를 저장하지 않고 대신 역방향 패스에서 다시 계산하여 비디오 메모리를 더욱 줄입니다. 반면 FP16은 원래의 32비트 부동 소수점 연산을 정확도에 영향을 주지 않고 16비트로 변환하여 비디오 메모리 사용량을 줄이고 컴퓨팅 효율성을 향상시킵니다.
일반적인 PyTorch 오픈소스 프로젝트와 달리 현재의 Hot stable Diffusion은 PyTorch Lightning을 기반으로 구축되었습니다. PyTorch Lightning은 인기 있는 딥 러닝 프레임워크인 PyTorch를 위한 간단하고 사용하기 쉽고 유연하며 효율적인 상위 수준 인터페이스를 제공하여 대다수의 AI 연구자에게 간단하고 사용하기 쉬운 상위 수준 추상화를 제공합니다. 학습 실험은 더 쉽게 읽고 재현할 수 있습니다. GitHub에 게시되었습니다. 20.5k개의 별이 수집되었습니다.
PyTorch Lightning의 초대를 받아 Colossal-AI가 PyTorch Lightning의 공식 대형 모델 솔루션으로 통합되었습니다. 이 둘의 강력한 조합 덕분에 AI 연구자들은 이제 확산 모델을 보다 효율적으로 훈련하고 사용할 수 있습니다. 안정적인 확산 모델을 예로 들면, 적은 양의 코드만으로 빠르게 시작할 수 있습니다.
from colossalai.nn.optimizer import HybridAdam from lightning.pytorch import trainer class MyDiffuser(LightningModule): ... def configure_sharded_model(self) -> None: # create your model here self.model = construct_diffuser_model(...) ... def configure_optimizers(self): # use the specified optimizer optimizer = HybridAdam(self.model.parameters(), self.lr) ... model = MyDiffuser() trainer = Trainer(accelerator="gpu", devices=1, precision=16, strategy="colossalai") trainer.fit(model)
Colossal-AI 및 PyTorch Lightning은 OPT 및 HuggingFace와 같은 인기 모델 및 커뮤니티에 대한 우수한 지원 및 최적화도 제공합니다.
Colossal-AI Colossal-AI는 더 적은 리소스로 단기 학습을 통해 자신만의 스타일로 모델을 생성하려는 사용자의 요구를 충족하기 위해 HuggingFace의 오픈 소스 Stable Diffusion 모델 가중치. 사용자는 Dataloader를 수정하여 자신의 미세 조정된 데이터 세트를 로드하고 사전 훈련 가중치를 읽기만 하면 됩니다. 간단히 매개변수 구성 yaml 파일을 수정하고 훈련 스크립트를 실행하여 개인용 컴퓨터에서 자신의 개인화된 모델을 미세 조정하면 됩니다.
model: target: ldm.models.diffusion.ddpm.LatentDiffusion params: your_sub_module_config: target: your.model.import.path params: from_pretrained: 'your_file_path/unet/diffusion_pytorch_model.bin' ... lightning: trainer: strategy: target: pytorch_lightning.strategies.ColossalAIStrategy params: ... python main.py --logdir /your_log_dir -t -b config/train_colossalai.yaml
Colossal-AI는 기본 Stable Diffusion 추론 파이프라인도 지원합니다. 훈련이나 미세 조정을 마친 후에는 디퓨저 라이브러리를 직접 호출하고 저장된 모델 매개변수를 로드하기만 하면 다른 변경 없이 직접 추론을 수행할 수 있습니다. , 이는 편리합니다. 신규 사용자는 추론 프로세스에 익숙하고 원래 프레임워크 사용에 익숙한 사용자는 빠르게 시작할 수 있습니다.
from diffusers import StableDiffusionPipeline pipe = StableDiffusionPipeline.from_pretrained( "your_ColoDiffusion_checkpoint_path" ).to("cuda") image = pipe('your prompt', num_inference_steps=50)["sample"][0] image.save('file path')
위 추론 과정을 통해 생성된 작업
위에서 언급한 Diffusion으로 대표되는 AIGC 훈련 최적화 혁신은 대형 모델 시대의 일반적인 딥러닝 시스템인 Colossal-AI를 기반으로 합니다. 효율적인 다차원 자동 병렬화, 이기종 메모리 관리, 대규모 최적화 라이브러리, 적응형 작업 스케줄링 등을 사용하는 는 AI 대형 모델 훈련 및 추론을 효율적이고 신속하게 배포하고 AI 대형 모델 적용 비용을 절감합니다. 오픈소스 이후 Colossal-AI는 GitHub 및 Papers With Code 핫리스트에서 여러 차례 세계 1위를 차지했으며, 수만 명의 스타가 참여한 수많은 스타 오픈소스 프로젝트와 함께 국내외에서 주목을 받았습니다! Colossal-AI는 국제 전문가들의 엄격한 검토를 거쳐 SC, AAAI, PPoPP 등 최고의 국제 AI 및 HPC 컨퍼런스의 공식 튜토리얼로 성공적으로 선정되었습니다.
Colossal-AI 애플리케이션: 더 나은 단백질 구조 예측 솔루션
Colossal-AI 관련 솔루션은 자율 주행, 클라우드 컴퓨팅, 소매, 의학, 칩 및 기타 산업 분야의 유명 제조업체에 의해 성공적으로 구현되었으며, 널리 칭찬 받았습니다 . 예를 들어, 바이오메디컬 산업의 단백질 구조 예측 모델 AlphaFold의 경우, Colossal-AI 기반의 최적화 솔루션 FastFold는 단일 GPU로 추론할 수 있는 최대 아미노산 서열 길이를 10,000개로 초과하여 단백질의 99.9999%를 커버하는 데 성공했습니다. 소비자용 그래픽 카드는 노트북 컴퓨터에서만 단백질의 90%를 분해할 수 있습니다. 이는 훈련과 추론의 전체 프로세스를 병렬로 더욱 가속화할 수 있으며, 많은 신약 R&D 회사가 개발 프로세스를 단축하고 R&D 비용을 절감하는 데 도움이 되었습니다.
오픈 소스 주소:
https://github.com/hpcaitech/ColossalAI
위 내용은 확산 사전 훈련 비용은 6.5배, 미세 조정 하드웨어 비용은 7배 절감! Colossal-AI의 완전한 오픈 소스 솔루션은 저렴한 비용으로 AIGC 산업 구현을 가속화합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!