sambanova/bloomchat
This repo contains the data preparation, tokenization, training and inference code for BLOOMChat. BLOOMChat is a 176 billion parameter multilingual chat model based on BLOOM.
BLOOMChat 는 무엇인가요?
BLOOMChat 는 오픈소스 BLOOM-176B 언어 모델을 기반으로 한 1760억 파라미터의 다국어 챗 모델입니다. SambaNova는 OpenChatKit OIG, Dolly 2.0, OpenAssistant OASST1 등의 지시 따르기 데이터로 BLOOM을 파인튜닝하여, 질문에 답하고 텍스트를 생성하며 다양한 언어를 처리할 수 있는 대화형 어시스턴트처럼 동작하도록 만들었습니다.
리포지토리에 포함된 내용
| 영역 | 리포지토리에서 찾을 수 있는 내용 |
|---|---|
| 데이터 준비 | 세 가지 소스 데이터셋을 추가로 정제하고 결합하여 토크나이제이션용으로 준비된 두 개의 JSONL 파일을 생성하는 스크립트 (data_prep/) |
| 토크나이제이션 | SambaNova의 generative_data_prep 유틸리티를 호출하는 Bash 래퍼 (tokenization_prep/)로 JSONL 파일을 HDF5 토큰 스트림과 분할 파일로 변환 |
| 학습 | SambaNova의 내부 재구성 가능한 데이터플로 유닛 (RDU) 에서 사용된 참조 스크립트 (training/)입니다. 하이퍼파라미터와 두 단계 파인튜닝 프로세스(먼저 OIG, 그 후 Dolly 2.0 + OASST1)를 보여줍니다 |
| 추론 (GPU) | Hugging Face의 transformers-bloom-inference 리포지토리를 사용하여 표준 GPU에서 릴리스된 모델을 실행하는 단계별 가이드. 코드에 소규모 수정이 필요하며, bf16 및 int8 정밀도용 예제 명령어가 포함되어 있습니다 |
| 추론 (RDU) | SambaNova의 RDU에서 모델을 실행하기 위한 코드가 포함된 rdu_quick_start/ 폴더로의 링크 |
| 메타데이터 | Hugging Face에서 모델 링크, 블로그 게시물, Discord 커뮤니티, 인용 블록 |
누구에게 유용할까요?
| 대상 | 왜 중요한가 |
|---|---|
| 연구자 | 매우 큰 다국어 LLM에 대한 재현 가능한 파이프라인(데이터 준비 → 토크나이제이션 → 학습)과 RDU에서 사용된 정확한 하이퍼파라미터를 제공 |
| 개발자 | GPU(transformers 사용) 및 SambaNova 하드웨어용 즉시 실행 가능한 추론 스크립트를 제공하며, 추천 생성 설정(temperature 0.8, top-p 0.9 등)도 포함 |
| ML 엔지니어 | SambaNova의 generative_data_prep 및 SambaFlow SDK를 학습-추론 워크플로에 통합하는 방법을 보여줍니다 |
| 커뮤니티 구성원 | Discord 채널과 Hugging Face Space에 접근 가능하여 직접 모델과 대화할 수 있습니다 |
시작하기 (빠른 시작 요약)
- 리포지토리 복제 후 필요한 Python 패키지 설치 (
pip install datasets및Pipfile에 나열된 종속성) - 데이터 준비 –
data_prep/내 두 개의 Python 스크립트를 실행하여oasst1_dolly.jsonl과bloom_ock_100K_each.jsonl생성 - 토크나이제이션 –
tokenization_prep/내 두 개의 Bash 스크립트를 SambaNova의generative_data_prep리포지토리 로컬 체크아웃에 지정.*_out/아래에 HDF5 토큰 파일 출력 - 학습 – 리포지토리는 RDU용 학습 스크립트만 포함 (일반 GPU에서는 실행 불가). 두 단계 파인튜닝 스케줄 이해에 유용
- GPU 추론 –
huggingface/transformers-bloom-inference를 복제하고 README에 표시된 두 가지 작은 수정을 적용한 후, 다음 예제 명령어 중 하나를 실행:python -m inference_server.cli \ --model_name sambanovasystems/BLOOMChat-176B-v1 \ --model_class AutoModelForCausalLM \ --dtype bf16 \ --deployment_framework hf_accelerate \ --generate_kwargs '{"do_sample": true, "temperature": 0.8, "repetition_penalty": 1.2, "top_p": 0.9, "max_new_tokens": 512}' - RDU 추론 –
rdu_quick_start/지침을 따르고, SambaNova RDU에 접근 가능하면 SambaFlow SDK 사용
BLOOMChat의 특징
- 크기 및 다국어 지원 – 1760억 파라미터, 다양한 언어에서 생성 가능
- 지시 파인튜닝 – 순수 텍스트 연속 생성이 아닌, 챗 스타일 상호작용에 최적화됨
- 하드웨어 인식 – SambaNova의 고유 RDU 아키텍처를 활용한 학습. 해당 환경의 정확한 워크플로우가 문서화됨
- 오픈소스 투명성 – 모든 데이터 전처리, 토크나이제이션, (부분적) 학습 스크립트 공개. 최종 모델 가중치는 Hugging Face에 호스팅됨
다음 단계는?
- README에 링크된 Hugging Face Space에서 모델과 직접 대화해보세요
- 지원 및 업데이트를 위해 Discord 커뮤니티에 참여하세요
- 데이터 탐색 – 준비된 JSONL 파일과 토크나이즈된 HDF5 디렉터리를 확인하여 지시 데이터 구조 이해
- 파이프라인 수정 – 소스 데이터셋을 자체 도메인 데이터로 교체하고 동일한 단계를 따라 RDU 또는 수정된 GPU 클러스터에서 대규모 LLM 파인튜닝 가능
- 위 모든 내용은 리포지토리의 README에서 직접 인용되었으며, 추가 기능은 추측되지 않았습니다. *
관련
- Dispatch
- 프로젝트
- Dispatch
- 프로젝트
- Dispatch