대규모의 유익하고 다양한 다중 라운드 대화 데이터 및 모델
UltraLM • 데이터 탐색기 • Nomic AI Atlas Explorer • 데이터 공개 • 구성 프로세스 • 종이
UltraLM은 UltraChat에서 훈련된 일련의 채팅 언어 모델입니다. 현재 AlpacaEval Leaderboard(2023년 6월 28일 기준)에서 오픈소스 모델 중 1위 , 전체 모델 중 4위를 기록하고 있는 13B 버전을 출시했습니다. UltraLM-13B는 LLaMA-13B를 기반으로 하며 훈련 과정에서 BMTrain의 지원을 받습니다.
모델 | 링크 | 버전 |
---|---|---|
UltraLM-13B | 허깅페이스 레포 | v1.0 |
UltraLM-65B | 허깅페이스 레포 | v1.0 |
UltraLM-13B | 허깅페이스 레포 | v2.0 |
UltraRM-13B | 허깅페이스 레포 | v1.0 |
UltraCM-13B | 허깅페이스 레포 | v1.0 |
/UltraLM/recover.sh
에서 스크립트를 실행하십시오./UltraLM/chat_cli.sh
의 모델 경로를 자신의 경로로 바꾸고 실행하여 채팅을 시작하세요! 참고: 다양한 하이퍼 매개변수 또는 시스템 프롬프트가 출력에 영향을 미칩니다. 기본 설정에 대한 자세한 내용은 /UltraLM/inference_cli.py
를 참조하세요.
이 섹션에서는 Stanford의 Alpaca-Eval, Microsoft WizardLM의 Evol-instruct 및 엄선된 평가 세트의 세 가지 평가를 보고합니다. 현대 LLM의 평가는 편향되어 있으며 여러 요인에 의해 영향을 받을 수 있습니다. 또한 보다 포괄적인 평가 방법을 개발하기 위해 적극적으로 노력하고 있습니다.
AlpacaEval은 LLM 평가를 위해 특별히 설계된 리더보드입니다. 리더보드는 GPT-4에서 자동으로 평가한 Text-Davince-003에 대한 승률을 기반으로 생성됩니다.
이 데이터 세트는 다양한 복잡성 수준에서 지침을 얻기 위해 여러 라운드를 통해 지침을 다시 작성하는 진화 전략으로 구성되었습니다. 벤치마크는 또 다른 뛰어난 채팅 언어 모델인 WizardLM 프로젝트에 의해 개발되었습니다!
우리는 Vicuna 벤치마크와 GPT-4에서 생성된 추가 300개의 질문 및 지침을 포함하는 평가 세트를 관리합니다. 질문/지침은 상식, 세계 지식, 전문 지식(특히 물리학 및 생물학), 수학, 다양한 난이도의 작문 과제 등 광범위한 주제를 다루고 있습니다. 우리는 평가를 위해 GPT-4를 사용합니다. 여기에 데이터세트가 있습니다.
예시 A: 상식에 관한 질문
사용자: 인간의 가장 친한 친구로 알려진 동물은 무엇인가요?
UltraLM: 인간이 반려동물로 즐기는 동물은 많지만, '인간의 가장 친한 친구로 알려진 동물은 무엇입니까?'라는 질문에 대한 답이 단연 돋보이는 동물 중 하나입니다. 국산견이다. 길들여진 개들은 수만 년 동안 인간 곁에서 충실한 동료애와 도움을 제공해 왔습니다. 사람과 재산을 보호합니다. 길고 외로운 나날부터 군사 배치에 이르기까지 모든 것에 정서적 지원을 제공합니다. 개는 다양한 크기, 다양한 에너지 수준, 성격 및 기질을 지닌 믿을 수 없을 정도로 다양한 품종으로 나옵니다. 즉, 가장 필요로 하는 누구에게나 완벽하게 맞는 강아지가 있다는 것을 의미합니다.
예시 B: 상식 추론
사용자: 깃털 1파운드와 벽돌 1파운드 중 어느 것이 더 무겁나요?
UltraLM: 깃털 1파운드와 벽돌 1파운드의 무게는 모두 정확히 1파운드입니다. 이는 피트가 길이의 단위이거나 1초가 시간의 단위인 것처럼 1파운드가 무게의 단위이기 때문입니다. 우리는 물체가 무엇으로 만들어졌는지에 관계없이 다양한 물체의 무게를 설명하기 위해 파운드(또는 다른 무게 단위)를 사용합니다. 따라서 귀하의 질문에 대한 대답은 1파운드의 깃털과 1파운드의 벽돌의 무게가 모두 같다는 것입니다.
예시 C: 추론
사용자: 농부에게 양 17마리가 있는데 9마리만 남기고 모두 죽으면 몇 마리가 남나요?
UltraLM: 남은 양의 총 수는 9마리입니다.
예시 D: 추론
사용자: 빨간 집이 빨간 벽돌로 만들어지고, 파란 집이 파란 벽돌로 만들어졌다면, 온실은 무엇으로 만들어졌나요?
UltraLM: 온실은 녹색 벽돌로 만들어지지 않고, 빛이 통과하여 식물이 자랄 수 있는 통제된 환경을 조성하는 유리나 플라스틱과 같은 재료로 만들어집니다. 온실은 녹색을 포함하여 다양한 색상을 가질 수 있지만 건물 자체의 색상은 내부에서 자라는 식물에 영향을 미치지 않습니다.
예시 E: 창조
사용자: 전자기학에 관한 시를 써 보세요.
UltraLM: 전자기학은 우리가 무시할 수 없는 힘입니다.
이것이 우리가 좋아하는 많은 것들의 이유입니다. 자기장에서는 전선이 빛을 발하고,
그리고 전자는 오래된 전자와 새로운 전자 모두 정렬됩니다.
전기와 자기가 함께 작용하고,
하나는 분야를 만들고, 다른 하나는 브랜드를 가지고 있습니다.
자기장은 밀고 당길 수 있으며,
전류가 흐르는 전선에서는 완전히 반응합니다.
그것이 가져다주는 매력과 반발력,
많은 이유가 있습니다.
모터부터 발전기까지, 그리고 그 사이에 있는 훨씬 더 많은 것,
전자기학은 그것이 의미하는 바의 근원입니다.
그것은 우리 주변에 있는 힘입니다.
나침반에서 전등 스위치까지.
그 힘으로 많은 일을 할 수 있고,
간단한 바늘부터 로켓의 추진력까지.
거부할 수 없는 힘이군요
왜냐하면 그것은 우리 삶의 일부이기 때문입니다.
전자기학은 감탄할만한 것입니다.
그 힘과 힘에 있어서는 비교할 수 없는 것이 확실합니다.
예시 F: 생성
사용자: 우주의 첫 번째 순간에 대한 짧은 이야기를 써보세요.
UltraLM: 우주의 첫 순간에는 어둠이 지배했습니다. 빛도, 소리도, 모양도, 실체도 없었습니다. 아직 아무것도 없었지만 강렬한 힘, 해방되기를 기다리는 원시 에너지가 있었습니다. 무한 속에서 첫 번째 초는 창조의 잠재력을 쥐고 있었습니다. 그리고, 강력한 굉음과 함께 밝은 빛의 점이 나타났다. 그 안에서 가장 기본적인 입자가 탄생했고, 그 형태는 아직 알려지지 않았으며 혼란스러운 창조의 춤 속에서 열광적으로 충돌했습니다. 이 원시적인 빛 속에서 자연의 모든 힘과 생명의 모든 구성요소가 순수한 에너지에서 물리적 현실로 옮겨졌습니다. 최초의 원자는 빠르게 조립되었고, 이로부터 별과 은하가 형성되기 시작했습니다. 그들의 융합은 공허를 밀어내는 뜨거운 환경을 만들어내고, 팽창하고 냉각되는 파도를 통해 우주를 형성합니다. 이 우주 최초에서는 어떤 경험 구조도, 심지어 시간이나 공간조차도 규칙을 확립할 수 없습니다. 한 순간, 우주 전체가 미래의 모든 존재가 시작된 우주 특이점인 배아적 결합 속에 존재했습니다. 그것은 궁극적으로 그 일부가 되는 대우주를 형성하는 소우주였으며, 그 탄생의 순간은 다중우주에 스며드는 창조의 순환에 대한 은유였습니다. 그 빛의 한 지점에서 무한한 우주가 펼쳐졌습니다. 수세기 동안, 영겁의 세월 동안, 그리고 앞으로도 영원히, 그것은 그 너머의 심연을 향한 끊임없는 여정의 가장 근본적인 깜박임으로 남아 있었습니다. 첫 번째 초는 모든 것의 시작입니다.
이 프로젝트는 일반적인 대화 기능을 갖춘 강력한 언어 모델의 구축을 촉진하기 위해 Turbo API로 구동되는 오픈 소스, 대규모 및 다중 라운드 대화 데이터를 구축하는 것을 목표로 합니다. 개인 정보 보호 등의 요소를 고려하여 당사는 인터넷에서 사용 가능한 데이터를 프롬프트로 직접 사용하지 않습니다 .
면책조항: UltraChat을 구축하는 과정에는 공개적으로 사용 가능한 벤치마크 데이터가 포함되지 않지만, 어느 정도 확장하면 일부 평가 벤치마크에서 일부 중복이 발생할 수 있습니다. 모든 데이터(지침 및 응답 포함)가 자동으로 생성되며 공개 벤치마크 데이터를 삽입하지 않는다는 점을 다시 한 번 강조하고 싶습니다. 예를 들어 UltraChat은 Alpaca Eval(2023년 5월)보다 먼저 출시(2023년 4월)되었습니다. 우리는 사용자들이 이러한 현상을 면밀히 모니터링하도록 권장하는 동시에 LLM을 보다 적절하게 평가하는 방법을 적극적으로 고려하고 있습니다.
데이터 세트는 연구 및 교육 목적으로만 사용되며 이 데이터 세트의 작성자, 소유자 또는 기여자의 의견이나 관점을 반영하는 것으로 해석되어서는 안 됩니다. 그리고 MIT 라이센스로 배포됩니다.
다운로드하기 전에 데이터를 탐색하거나 Atlas 탐색기를 사용하십시오.
직접 다운로드 링크:
다운로드한 데이터 파일의 각 줄은 목록 형식의 데이터 ID와 대화 데이터를 포함하는 json dict입니다. 아래는 예시 라인입니다.
{
"id" : " 0 " ,
"data" : [
" How can cross training benefit groups like runners, swimmers, or weightlifters? " ,
" Cross training can benefit groups like runners, swimmers, or weightlifters in the following ways: ... " ,
" That makes sense. I've been wanting to improve my running time, but I never thought about incorporating strength training. Do you have any recommendations for specific exercises? " ,
" Sure, here are some strength training exercises that can benefit runners: ... " ,
" Hmm, I'm not really a fan of weightlifting though. Can I incorporate other forms of exercise into my routine to improve my running time? " ,
" Yes, absolutely! ... " ,
" ... "
]
}
우리는 .src/
의 UltraChat에서 LLaMa를 미세 조정하기 위한 훈련 코드를 제공합니다(그러나 LLaMa의 가중치를 배포하지는 않습니다). 훈련은 BMTrain에 의해 가속화됩니다.
공개된 데이터를 다운로드하여 ./data
아래에 넣으세요.
train_bm.py
실행하세요. 예를 들면 다음과 같습니다.
WANDB_MODE= " offline " torchrun --nnodes=1 --nproc_per_node=8 --rdzv_id=1 --rdzv_backend=c10d --rdzv_endpoint=localhost:50003 train_bm.py --tensorboard ./ultrachat_llama_tb_2 --save_step 5000 --logging_step 100
또한 OpenPrompt로 구현되는 .src/train_legacy/
의 UltraChat에서 GPT-J를 미세 조정하기 위한 교육 스크립트도 제공합니다.
./data
아래에 넣으세요.accelerate launch train.py
실행하여 훈련을 시작하세요. UltraChat의 일반적인 아이디어는 별도의 LLM을 사용하여 시작 라인을 생성하고 사용자를 시뮬레이션하며 쿼리에 응답하는 것입니다. UltraChat의 각 부문에는 고유한 과제가 있으며 특정 전략 설계가 필요합니다. UltraChat의 한 부문이 출시되면 구축 프로세스를 명시하겠습니다.
UltraChat이 유용하다고 생각하시면 자유롭게 레포를 인용해 주세요.
@article { ding2023enhancing ,
title = { Enhancing Chat Language Models by Scaling High-quality Instructional Conversations } ,
author = { Ding, Ning and Chen, Yulin and Xu, Bokai and Qin, Yujia and Zheng, Zhi and Hu, Shengding and Liu, Zhiyuan and Sun, Maosong and Zhou, Bowen } ,
journal = { arXiv preprint arXiv:2305.14233 } ,
year = { 2023 }
}