laya.cpp: 최적화된 laya 근접 즉시 의사 결정
요약
laya.cpp는 커스텀 CUDA 커널과 ggml 기반으로 구축된 독립형 C++ 추론 구현체입니다. 이 코드는 네이티브 토큰화, 모델 실행 및 출력 형식 지정 기능을 제공하며, Python이나 PyTorch 없이도 영어, 다국어, 유형 결정 등 다양한 체크포인트를 지원합니다. RTX PRO 6000 Blackwell에서 테스트한 결과, 높은 효율성을 보여줍니다.
핵심 포인트
- Python/PyTorch 의존성 없이 C++로 추론 가능
- 커스텀 CUDA 커널 및 ggml 기반으로 최적화됨
- 네이티브 토큰화와 다양한 출력 형식 지원
- RTX PRO 6000 Blackwell에서 높은 성능 입증
u/Nandakishor_ml의 Laya 소개 게시물을 보고, 독립형 C++ 구현에서 얼마나 빠르게 실행될 수 있는지 확인하고 싶었습니다. 아키텍처, 훈련 및 오픈 소스 공개는 u/Nandakishor_ml에게 공을 돌립니다. 저의 기여는 추론(inference) 구현인 laya.cpp이며, 이는 커스텀 CUDA 커널을 사용한 ggml 기반으로 구축되었습니다. 이 코드는 네이티브 토큰화, 모델 실행 및 출력 형식 지정 기능을 갖추고 영어, 다국어, 유형 결정(typed-decisions)의 세 가지 체크포인트 모두를 지원합니다. 또한 JEV와 호환되는 엔드포인트를 가진 HTTP 서버도 있습니다. 추론을 위해 Python이나 PyTorch가 필요하지 않습니다. RTX PRO 6000 Blackwell에서 수행된 일부 영어 모델 결과는 최대 450W로 제한되었습니다: 배치 Python BF16 C++ BF16 Python FP32 C++ FP32
1 149 366 148 342
2 268 586 202 421
4 460 761 233 437
8 663 810 232 386
이 수치들은 선택지, 점수 및 불리언을 포함하는 고정된 250개 질문 코퍼스에 대한 초당 질문 수를 나타냅니다. 각 정밀도(precision)는 번갈아 실행 순서로 페어링된 Python/C++ 타이밍을 제공합니다. 로딩 시간과 JSON 전송은 제외되었습니다. README에는 세 가지 모델의 전체 결과가 있습니다. 대부분의 최적화는 불필요한 변환 및 복사 제거, 반올림을 유지하면서 연산 융합(fusing operations), 그리고 어텐션 메모리 접근 개선에서 비롯되었습니다. 이 코드는 MIT 라이선스를 따릅니다. 현재 BF16은 문서화된 CUDA 13.0/cuBLAS 13.1.0 빌드 프로필이 필요합니다. Codex Astra를 사용하여 구현되었으며, /u/lkarlslund가 제출했습니다. [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기