>  기사  >  기술 주변기기  >  Google은 PaLM을 오픈소스로 제공하지 않지만 네티즌들은 이를 오픈소스로 제공합니다! 수천억 개의 매개변수의 미니어처 버전: 최대값은 10억 개, 8K 컨텍스트입니다.

Google은 PaLM을 오픈소스로 제공하지 않지만 네티즌들은 이를 오픈소스로 제공합니다! 수천억 개의 매개변수의 미니어처 버전: 최대값은 10억 개, 8K 컨텍스트입니다.

王林
王林앞으로
2023-05-28 21:40:111183검색

구글이 오픈소스로 제공하지 않았던 PaLM이 네티즌들에 의해 오픈소스로 공개되었습니다.

어제 개발자가 GitHub에서 PaLM 모델의 세 가지 소형 버전을 오픈 소스로 공개했습니다. 매개변수는 1억 5천만(PalM-150m), 4억 1천만(PalM-410m) 및 10억(PalM-1b)입니다.

Google은 PaLM을 오픈소스로 제공하지 않지만 네티즌들은 이를 오픈소스로 제공합니다! 수천억 개의 매개변수의 미니어처 버전: 최대값은 10억 개, 8K 컨텍스트입니다.

프로젝트 주소: https://github.com/conceptofmind/PaLM

이 세 가지 모델은 컨텍스트 길이가 8k인 Google C4 데이터 세트에서 훈련되었습니다. 앞으로는 20억 개의 매개변수를 가진 모델이 훈련될 예정입니다.

Google은 PaLM을 오픈소스로 제공하지 않지만 네티즌들은 이를 오픈소스로 제공합니다! 수천억 개의 매개변수의 미니어처 버전: 최대값은 10억 개, 8K 컨텍스트입니다.

Google C4 데이터세트

Open Source PaLM

4억 1천만 개의 매개변수 모델을 사용하여 생성된 예:

우리 개는 매우 귀엽지만 다른 개들과의 사교 능력은 그리 좋지 않습니다. 그 개는 새로운 사람들을 모두 사랑하고 다른 개들과 어울리는 것을 좋아합니다. 다른 개들과 함께 공원에 데려가야 합니다. 그 개는 약간의 입 냄새를 풍기지만, 그렇지 않은 방향으로 도망갈 때만 그렇습니다. 현재 내 개는 매우 버릇없어서 공원에서 인사하고 싶지만 당분간은 몸을 잘 돌봐야 할 것 같습니다. 3개월이 지났습니다. 개는 매우 소심하고 겁이 많습니다. 개는 매우 장난스럽고 버릇이 없습니다. 개 때문인지 버릇없는지 잘 모르겠습니다. 그는 장난감을 좋아하고 그냥 놀고 싶어합니다. 그는 항상 장난감을 가지고 놀고 심지어 산책도 합니다. 그 개는 그냥 공원에 가는 작은 강아지예요. 입 냄새나 입 냄새도 나지 않은 아주 친근한 강아지예요

저희 강아지는 엄청 귀엽지만 다른 강아지들과 잘 어울리지 못해요. . 이 개는 모든 새로운 사람을 사랑하며 다른 개들과 노는 것을 좋아합니다. 다른 개들과 함께 공원에 데려가야 해요. 강아지 호흡이 약간 있는 편인데 가고 싶지 않은 방향으로 달릴 때만요. 이제 내 개는 매우 장난 꾸러기입니다. 그는 공원에서 인사하고 싶었지만 잠시 동안 몸을 돌보고 싶었습니다. 그는 또한 구취를 가지고 있습니다. 그에게 구강 교정기를 사줘야 했던 지 3개월이 지났습니다. 개는 입 주위에 아픈 물린 자국이 있습니다. 이 개는 매우 소심하고 겁이 많습니다. 이 개는 매우 장난스럽고 약간 버릇이 없습니다. 강아지의 잘못인지, 아니면 그냥 버릇없게 생긴 것인지는 잘 모르겠습니다. 그는 장난감을 좋아하고 단지 가지고 놀고 싶어합니다. 그는 항상 장난감을 가지고 놀고 심지어 산책도 하러 갑니다. 그는 약간 까다롭고 다른 개들과 잘 어울리지 않습니다. 그 개는 단지 공원에 가는 강아지일 뿐이었습니다. 그는 매우 친절한 개입니다. 그는 더 이상 구취 문제가 없습니다.

매개변수가 실제로 약간 작지만 생성된 효과는 여전히 설명하기가 조금 어렵습니다...

이 모델은 Toolformer-pytorch, Palm-rlhf-pytorch와 같은 많은 인기 있는 Lucidrain 저장소와 호환됩니다. 그리고 Palm-pytorch.

세 가지 최신 오픈 소스 모델은 기본 모델이며 대규모 데이터 세트에서 학습됩니다.

모든 모델은 FLAN 지침에 따라 추가 조정되어 flan-PaLM 모델을 제공할 예정입니다.

Google은 PaLM을 오픈소스로 제공하지 않지만 네티즌들은 이를 오픈소스로 제공합니다! 수천억 개의 매개변수의 미니어처 버전: 최대값은 10억 개, 8K 컨텍스트입니다.

오픈 소스 PaLM 모델은 Flash Attention 및 Xpos Rotary Embeddings를 통해 학습되므로 더 나은 길이 추정을 달성하고 보다 효율적인 디코딩을 위해 다중 쿼리 단일 키 값 주의 메커니즘을 사용합니다.

최적화 알고리즘 측면에서는 분리된 가중치 감쇠 Adam W를 사용하지만 Mitchell Wortsman의 Stable Adam W를 사용할 수도 있습니다.

현재 모델은 Torch 허브에 업로드되었으며 파일도 Huggingface 허브에 저장되어 있습니다.

Torch 허브에서 모델을 제대로 다운로드할 수 없는 경우 .cache/torch/hub/에서 체크포인트와 모델 폴더를 삭제했는지 확인하세요. 문제가 여전히 해결되지 않으면 Huggingface 저장소에서 파일을 다운로드할 수 있습니다. 현재 Huggingface 통합이 진행 중입니다.

모든 학습 데이터에는 GPTNEOX 태거가 사전 라벨링되어 있으며 시퀀스 길이는 8192로 잘립니다. 이를 통해 데이터 전처리에 드는 비용을 크게 절감할 수 있습니다.

이 데이터 세트는 Huggingface에 쪽모이 세공 형식으로 저장되었으며 여기에서 개별 데이터 청크를 찾을 수 있습니다: C4 Chunk 1, C4 Chunk 2, C4 Chunk 3, C4 Chunk 4 및 C4 Chunk 5.

분산 학습 스크립트에는 제공된 사전 레이블이 지정된 C4 데이터세트를 사용하는 것이 아니라 openwebtext와 같은 다른 데이터세트를 로드하고 처리하는 또 다른 옵션이 있습니다.

설치

모델을 실행하기 전에 설치 과정이 필요합니다.

<code>git clone https://github.com/conceptofmind/PaLM.gitcd PaLM/pip3 install -r requirements.txt</code>

을 사용하면 추가 훈련이나 미세 조정을 위해 Torch 허브를 사용하여 사전 훈련된 모델을 로드할 수 있습니다.

<code>model = torch.hub.load("conceptofmind/PaLM", "palm_410m_8k_v0").cuda()</code>

또한 다음 방법을 통해 PyTorch 모델 체크포인트를 직접 로드할 수도 있습니다.

<code>from palm_rlhf_pytorch import PaLMmodel = PaLM(num_tokens=50304, dim=1024, depth=24, dim_head=128, heads=8, flash_attn=True, qk_rmsnorm = False,).cuda()model.load('/palm_410m_8k_v0.pt')</code>

모델을 사용하여 텍스트를 생성하려면 다음 명령줄을 사용할 수 있습니다.

prompt - 텍스트 생성에 대한 프롬프트.

seq_len - 생성된 텍스트의 시퀀스 길이, 기본값은 256입니다.

온도 - 샘플링 온도, 기본값은 0.8입니다.

filter_thres - 샘플링에 사용되는 필터 임계값입니다. 기본값은 0.9입니다.

model - 세대에 사용되는 모델입니다. 세 가지 매개변수(150m, 410m, 1b)가 있습니다: palm_150m_8k_v0, palm_410m_8k_v0, palm_1b_8k_v0.

<code>python3 inference.py "My dog is very cute" --seq_len 256 --temperature 0.8 --filter_thres 0.9 --model "palm_410m_8k_v0"</code>

추론에서는 성능을 향상시키기 위해 torch.compile(), Flash Attention 및 Hidet을 사용합니다.

스트림 처리나 다른 기능을 추가하여 세대를 확장하려는 경우 저자는 일반적인 추론 스크립트 "inference.py"를 제공합니다.

Training

이 "오픈 소스 Palm" 모델은 64개의 A100(80GB) GPU에서 훈련되었습니다.

모델 교육을 용이하게 하기 위해 저자는 분산 교육 스크립트 train_distributed.py도 제공합니다.

하드웨어 요구 사항에 맞게 모델 레이어와 하이퍼파라미터 구성을 자유롭게 변경할 수 있으며, 모델의 가중치를 로드하고 훈련 스크립트를 변경하여 모델을 미세 조정할 수도 있습니다.

마지막으로 저자는 앞으로 구체적인 미세 조정 스크립트를 추가하고 LoRA를 탐구하겠다고 밝혔습니다.

Google은 PaLM을 오픈소스로 제공하지 않지만 네티즌들은 이를 오픈소스로 제공합니다! 수천억 개의 매개변수의 미니어처 버전: 최대값은 10억 개, 8K 컨텍스트입니다.

Data

학습 중에 사용된 C4 데이터세트와 유사한 방식으로 build_dataset.py 스크립트를 실행하여 다양한 데이터세트를 전처리할 수 있습니다. 그러면 데이터에 미리 레이블이 지정되고 지정된 시퀀스 길이의 청크로 분할되어 Huggingface 허브에 업로드됩니다.

예:

<code>python3 build_dataset.py --seed 42 --seq_len 8192 --hf_account "your_hf_account" --tokenizer "EleutherAI/gpt-neox-20b" --dataset_name "EleutherAI/the_pile_deduplicated"</code>

PaLM 2 출시 예정

2022년 4월 Google은 처음으로 5,400억 개의 매개변수가 포함된 PaLM을 공식 발표했습니다. 다른 LLM과 마찬가지로 PaLM은 다양한 텍스트 생성 및 편집 작업을 수행할 수 있습니다.

PaLM은 Google이 처음으로 Pathways 시스템을 대규모로 사용하여 현재까지 훈련에 사용되는 TPU 기반 시스템 구성 중 가장 큰 6144 칩으로 훈련을 확장합니다.

농담을 이해할 수 있을 뿐만 아니라, 이해하지 못하는 당신에게 재미있는 점을 설명해주는 이해력도 뛰어납니다.

Google은 PaLM을 오픈소스로 제공하지 않지만 네티즌들은 이를 오픈소스로 제공합니다! 수천억 개의 매개변수의 미니어처 버전: 최대값은 10억 개, 8K 컨텍스트입니다.

3월 중순에 Google은 처음으로 PaLM 대규모 언어 모델 API를 공개했습니다.

Google은 PaLM을 오픈소스로 제공하지 않지만 네티즌들은 이를 오픈소스로 제공합니다! 수천억 개의 매개변수의 미니어처 버전: 최대값은 10억 개, 8K 컨텍스트입니다.

즉, 사람들은 텍스트 요약, 코드 작성 등의 작업을 완료하고 PaLM을 ChatGPT와 같은 대화형 챗봇으로 훈련시키는 데 사용할 수 있습니다.

다가오는 Google 연례 I/O 컨퍼런스에서 Pichai는 AI 분야에서 회사의 최신 개발을 발표할 예정입니다.

최신, 가장 발전된 대규모 언어 모델 PaLM 2가 곧 출시된다고 합니다.

PaLM 2에는 100개 이상의 언어가 포함되어 있으며 내부 코드명 "Unified Language Model"로 실행되어 왔습니다. 또한 코딩, 수학, 창의적 글쓰기 분야에서 광범위한 테스트를 실시합니다.

지난달 구글은 자사의 의료 LLM 'Med-PalM2'가 '전문 의사 수준'에서 85%의 정확도로 건강 검진 문제에 답할 수 있다고 밝혔습니다.

또한 Google은 대형 모델이 지원하는 채팅 로봇 Bard와 검색 생성 경험도 출시할 예정입니다.

최신 AI 출시가 구글의 등을 바로잡을 수 있을지는 두고 볼 일이다.

위 내용은 Google은 PaLM을 오픈소스로 제공하지 않지만 네티즌들은 이를 오픈소스로 제공합니다! 수천억 개의 매개변수의 미니어처 버전: 최대값은 10억 개, 8K 컨텍스트입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제