안녕하세요, AI 오픈소스 프로젝트에 관심을 갖고 계신 여러분!
이번 주에도 여러 흥미로운 오픈소스 프로젝트들이 새롭게 릴리즈되었습니다.
여러분께 도움이 될 만한 주요 릴리즈 소식을 정리해 보았으니, 관심 있는 프로젝트가 있다면 업데이트된 기능과 버그 수정 내용을 확인해 보세요.
제가 평소에 관심있게 살펴보는 프로젝트들입니다.
아래 목록에 추가하고 싶은 오픈소스 프로젝트가 있다면, 댓글로 남겨주세요!
- langchain-ai/langchain
- huggingface/transformers
- vllm-project/vllm
- NVIDIA/TensorRT-LLM
- microsoft/DeepSpeed
- ollama/ollama
langchain-ai/langchain
langchain-core==0.2.29rc1
https://github.com/langchain-ai/langchain/releases/tag/langchain-core%3D%3D0.2.29rc1
이번에 발표된 langchain-core==0.2.29rc1
버전의 변경 사항은 다음과 같습니다.
- Strict Tool Calling 활성화: 툴 호출을 더욱 엄격하게 관리할 수 있도록 기능이 추가되었습니다. (#25111)
- DocumentIndex 지원 추가: 인덱스 API에서
DocumentIndex
에 대한 지원이 추가되었습니다. 이는 문서 인덱싱을 보다 효율적으로 처리할 수 있게 합니다. (#25100) - RunnableSequence 및 RunnableParallel의 Context 설정: 이 두 클래스에서 컨텍스트를 설정할 수 있는 기능이 추가되었습니다. (#25073)
- 문서화 개선:
- Runnable 문서의 docstring 공간이 개선되었습니다. (#25106)
- 메소드 문서의 항목 번호가 업데이트되었습니다. (#25093)
- chatprompt의 선택적 변수에 대한 설명이 변경되었습니다. (#25017)
- kwargs 문서의 docstring 수정이 이루어졌습니다. (#25010)
- API 참조에서 더 이상 사용되지 않는 경고가 먼저 표시되도록 변경되었습니다. (#25001)
- 의존성 정보 포함: 시스템 정보에 의존성 목록이 포함되도록 업데이트되었습니다. (#25076)
- Pydantic 메타데이터 추가: 서브셋 모델에 Pydantic 메타데이터가 추가되었습니다. (#25032)
- 특수 Pydantic 초기화 매개변수 제외: 특정 Pydantic 초기화 매개변수가 제외되었습니다. (#25084)
- 속도 제한 테스트의 시간 제약 완화: 속도 제한 테스트에 대한 시간 제약이 완화되었습니다. (#25071)
- DocumentIndex 추상화 도입:
DocumentIndex
에 대한 추상화가 도입되어, 사용자가 보다 쉽게 문서를 관리하고 인덱싱할 수 있도록 합니다. (#25062)
langchain-core==0.2.29
https://github.com/langchain-ai/langchain/releases/tag/langchain-core%3D%3D0.2.29
langchain-core의 0.2.29 릴리즈는 여러 가지 변경 사항과 개선 사항을 포함하고 있습니다. 주요 내용은 다음과 같습니다:
- 스트리밍 비활성화: 기본 언어 모델에서 스트리밍 기능이 비활성화되었습니다. (#25070)
- 속도 제한 단위 테스트 개선: 속도 제한과 관련된 단위 테스트의 타이밍 조건이 완화되었습니다. (#25140)
- 구성 속성 정렬: 구성(Config) 속성이 정렬되어 보다 직관적인 접근이 가능해졌습니다. (#25127)
- DocumentIndex 지원 추가: 인덱스 API에서 DocumentIndex에 대한 지원이 추가되었습니다. (#25100)
- RunnableSequence 및 RunnableParallel의 컨텍스트 설정: 이 두 가지 클래스에서 컨텍스트 설정 기능이 추가되었습니다. (#25073)
- 문서 개선: 문서의 주석 공간이 개선되었고, 메서드 문서의 항목 번호가 업데이트되었습니다. (#25106, #25093)
- Pydantic 메타데이터 추가: 서브셋 모델에 Pydantic 메타데이터가 추가되었습니다. (#25032)
- 선택적 변수 문서화 변경: 챗 프롬프트에서 선택적 변수의 문서화 방식이 변경되었습니다. (#25017)
- 특별한 Pydantic 초기화 매개변수 제외: 특별한 Pydantic 초기화 매개변수가 제외되었습니다. (#25084)
- 속도 제한 테스트 시간 제약 완화: 속도 제한 테스트의 시간 제약이 완화되었습니다. (#25071)
- DocumentIndex 추상화 도입: DocumentIndex에 대한 새로운 추상화가 도입되었습니다. (#25062)
- 문서에서 베타 지시어 표시: 문서에서 베타 관련 지시어가 표시되었습니다. (#25013)
- kwargs 문서 주석 수정: kwargs에 대한 문서 주석이 수정되었습니다. (#25010)
- API 참조에서 경고 표시 개선: API 참조에서 비활성화 경고가 먼저 표시되도록 개선되었습니다. (#25001)
huggingface/transformers
v4.43.4
https://github.com/huggingface/transformers/releases/tag/v4.43.4
v4.43.4 패치 릴리즈에서는 DeepSpeed와 관련된 몇 가지 문제가 해결되었습니다. 특히, DeepSpeed를 사용할 때 임베딩 크기를 조정하는 기능이 제대로 적용되었습니다. 이로 인해 모델의 성능이 더욱 향상될 수 있습니다.
해당 릴리즈는 사용자들이 DeepSpeed를 사용할 때 발생할 수 있는 문제들을 해결하여, 보다 원활하게 작업할 수 있도록 돕습니다.
v4.44.0
https://github.com/huggingface/transformers/releases/tag/v4.44.0
이번 Hugging Face Transformers의 v4.44.0 릴리즈는 여러 중요한 기능과 성능 향상을 포함하고 있습니다. 주요 내용은 다음과 같습니다:
- End-to-End Generation Compile: 새로운
model.generate
기능이 추가되어 컴파일을 지원합니다. 이를 통해 생성 과정이 효율적으로 최적화될 수 있습니다. - 컴파일 속도 향상: 오토리그레시브 디코더 모델의 경우, torch.compile을 이용한 전방 컴파일 속도가 3배에서 5배 빨라졌습니다. 이는 캐시를 재사용할 때 더욱 두드러진 성능 향상을 보여줍니다.
- CPU Offloaded KVCache: GPU 자원이 부족할 경우, 캐시를 CPU로 오프로드할 수 있는 기능이 추가되었습니다. 이 설정은 메모리 문제를 줄이는 데 도움이 됩니다.
- Torch Export for Static Cache: PyTorch 팀의 지원으로, 정적 캐시에 대해
torch.export
를 사용할 수 있게 되었습니다. 이로 인해 프롬프트 재사용이 가능해졌습니다. - Gemma2 및 Assisted Decoding: Gemma2 모델이 추가되어, 27B 모델과 함께 보조 생성 기능을 지원합니다. 이는 긴 시퀀스에서 출력 불일치를 유발할 수 있는 제한이 있습니다.
- Nemotron 및 Codestral 지원: Nemotron 모델이 합성 데이터 생성 파이프라인의 일부로 사용될 수 있도록 지원됩니다. Codestral 모델은 다양한 프로그래밍 언어를 지원하여 개발자들이 코드를 작성하는 데 도움을 줍니다.
- Breaking Changes: 기본 채팅 템플릿이 제거되고, 모든 템플릿은 허브에서 제공됩니다.
- 향상된 Whisper의 긴 형식 디코딩: Whisper 모델의 긴 형식 디코딩에서도 컴파일 업그레이드가 적용되어 속도가 더욱 빨라졌습니다.
vllm-project/vllm
v0.5.4
https://github.com/vllm-project/vllm/releases/tag/v0.5.4
이번 VLLM v0.5.4 릴리즈는 여러 가지 중요한 개선사항과 새로운 기능을 포함하고 있습니다. 다음은 주요 내용입니다.
모델 지원
- DeepSeek v2, Qwen, Qwen2, 그리고 Nemotron 모델에 대한 파이프라인 병렬 처리 지원이 강화되었습니다.
- Vision 언어 모델에 대한 지원이 향상되었으며, InternVL2, BLIP-2, MiniCPM-V 모델이 추가되었습니다.
- H2O Danube3-4b 모델과 Nemotron 모델(3, 4, Minitron)이 새롭게 추가되었습니다.하드웨어 지원
- TPU 관련 여러 가지 개선사항이 적용되었습니다. 집단 통신, 비동기 엔진을 위한 텐서 병렬 처리, 컴파일 시간 단축 등이 포함됩니다.
- Intel CPU에서 멀티프로세싱 및 텐서 병렬 처리가 활성화되었습니다.성능 개선
- OpenAI 서버의 HTTP 요청 처리와 모델 추론 루프를 분리하여 첫 토큰까지의 응답 시간을 20% 단축하고, 토큰 간 지연 시간을 2배 향상시켰습니다.
- 파이썬의 네이티브 배열 데이터 구조를 사용하여 패딩 속도를 개선하였고, 대용량 배치 처리 시 15%의 처리량 증가를 가져왔습니다.
- 로그 확률이 None일 때 불필요한 계산을 줄여 대규모 배치 처리 시 대기 시간을 약 30ms에서 5ms로 단축했습니다.운영 기능
- 예측적 디코딩 기능이 개선되었습니다. FlashInfer와 관련된 기능이 추가되었고, 관찰 가능성 및 벤치마크 기능도 포함되었습니다.
- 오프라인 LLM을 위한 유도 디코딩 기능이 추가되었습니다.양자화
- W4A8 양자화 지원이 추가되었습니다.
- FP8 및 INT8 커널이 Ada Lovelace 아키텍처에 최적화되었습니다.
- 사전 양자화된 모델을 읽을 수 있는 기능이 추가되었습니다.
ollama/ollama
v0.3.4
https://github.com/ollama/ollama/releases/tag/v0.3.4
이번 Ollama v0.3.4 릴리즈에서는 여러 가지 주요 기능과 개선 사항이 포함되었습니다.
주요 업데이트
- 새로운 임베딩 모델:
- BGE-M3: 다기능성, 다국어 지원 및 다중 세분화로 유명한 대형 임베딩 모델.
- BGE-Large: 영어로 훈련된 대형 임베딩 모델.
- Paraphrase-Multilingual: 50개 이상의 언어에 대해 병렬 데이터로 훈련된 다국어 임베딩 모델.
- 새로운 임베딩 API:
- Ollama는 이제
/api/embed
라는 새로운 API 엔드포인트를 지원하여 임베딩 생성 기능을 제공합니다. - 이 API는 여러 문서에 대한 임베딩을 한 번의 요청으로 생성할 수 있는 배치 지원을 포함합니다.
- 모든 임베딩이 정규화되어 유사성 결과가 향상되었습니다.
- 잘림(truncation) 기능이 추가되어, 잘림을
false
로 설정하면 오류를 발생시킵니다. - 응답에는 지표(metrics)가 포함되어,
load_duration
,total_duration
,prompt_eval_count
를 제공합니다.
- Ollama는 이제
- 기타 개선 사항:
- Windows에서의 초기 다운로드 속도가 느린 문제를 수정했습니다.
- NUMA 지원이 자동으로 감지되어 성능이 향상됩니다.
/api/embed
가 때때로 임베딩 결과를 잘못된 순서로 반환하는 문제를 수정했습니다.
이번 주에도 다양한 오픈소스 프로젝트들이 활발히 발전하고 있음을 알 수 있습니다.
여러분이 관심을 갖고 있는 프로젝트들도 이번 릴리즈에서 개선된 부분이 있는지 꼭 확인해 보시길 바랍니다.
오픈소스 커뮤니티의 발전에 기여하는 개발자들에게 감사의 마음을 전하며, 앞으로도 더 많은 흥미로운 소식을 전해드리겠습니다.
읽어주셔서 감사합니다! 다음 주에도 유용한 정보로 찾아뵙겠습니다.
'AI > 오픈소스 릴리즈 노트' 카테고리의 다른 글
오픈소스 릴리즈 노트 읽기 - 8월 4주차 (1) | 2024.08.26 |
---|---|
오픈소스 릴리즈 노트 읽기 - 8월 3주차 (0) | 2024.08.20 |
오픈소스 릴리즈 노트 읽기 - 8월 1주차 (0) | 2024.08.04 |
langchain / 0.2.12 (0) | 2024.08.03 |
ollama / v0.3.3 (0) | 2024.08.03 |