오픈소스 릴리즈 노트 읽기 - 8월 4주차

2024. 8. 26. 10:24·AI/오픈소스 릴리즈 노트

안녕하세요, AI 오픈소스 프로젝트에 관심을 갖고 계신 여러분!
이번 주에도 여러 흥미로운 오픈소스 프로젝트들이 새롭게 릴리즈되었습니다.
여러분께 도움이 될 만한 주요 릴리즈 소식을 정리해 보았으니, 관심 있는 프로젝트가 있다면 업데이트된 기능과 버그 수정 내용을 확인해 보세요.

 


 

제가 평소에 관심있게 살펴보는 프로젝트들입니다.
아래 목록에 추가하고 싶은 오픈소스 프로젝트가 있다면, 댓글로 남겨주세요!

  • langchain-ai/langchain
  • huggingface/transformers
  • vllm-project/vllm
  • NVIDIA/TensorRT-LLM
  • microsoft/DeepSpeed
  • ollama/ollama

 


 

langchain-ai/langchain

langchain-core==0.2.34

https://github.com/langchain-ai/langchain/releases/tag/langchain-core%3D%3D0.2.34

이번 langchain-core의 0.2.34 릴리즈는 여러 가지 주요 변경 사항을 포함하고 있습니다. 아래는 주요 업데이트 내용입니다:

  1. OAI Dicts 지원: 메시지로서 OAI 딕셔너리를 지원하는 기능이 추가되었습니다. 이는 더 다양한 형식의 데이터를 처리할 수 있게 해줍니다.
  2. Fallback Context 수정: 기존의 fallback context가 덮어쓰여지는 문제를 수정하였습니다. 이로 인해 더 안정적인 동작을 기대할 수 있습니다.
  3. Langsmith 문서 로더 추가: Langsmith 문서 로더가 추가되어, 문서 로드 작업이 보다 용이해졌습니다.
  4. Token Counter 개선: 메시지를 다듬는 과정에서 bound 모델을 token_counter로 사용할 수 있도록 변경되었습니다. 이는 메시지 처리의 유연성을 높여줍니다.
  5. GraphVectorStore 확장에 베타 데코레이터 추가: 누락된 GraphVectorStore 확장에 베타 데코레이터가 추가되어, 기능의 안정성을 높이고 향후 확장을 예고합니다.
  6. 채팅 프롬프트 직렬화/역직렬화 테스트: 채팅 프롬프트의 직렬화 및 역직렬화에 대한 테스트가 추가되었습니다. 이는 시스템의 일관성을 높이는 데 기여합니다.

이번 릴리즈는 여러 가지 버그 수정과 기능 개선을 통해 langchain-core의 전반적인 성능과 안정성을 향상시켰습니다.

 

langchain-core==0.2.35

https://github.com/langchain-ai/langchain/releases/tag/langchain-core%3D%3D0.2.35

langchain-core의 버전 0.2.35 릴리즈 노트에는 여러 가지 주요 변경 사항이 포함되어 있습니다. 이번 릴리즈의 주요 내용은 다음과 같습니다:

  1. Lint 개선: make lint 명령어의 개선이 이루어졌습니다. 이는 코드 품질을 유지하는 데 도움이 됩니다.
  2. 최소 버전 테스트 재활성화: 최소 버전 테스트가 다시 활성화되었으며, CI에서는 ai21 관련 테스트를 무시하도록 설정되었습니다.
  3. 기본 프롬프트의 inner input 타입 수정: 기본 프롬프트에서 inner input의 타입이 수정되었습니다.
  4. simsimd 타입 사용: 파트너 코드에서 simsimd 타입을 사용하도록 변경되었습니다.
  5. MMR 유틸리티 추가: 새로운 MMR 유틸리티가 추가되었습니다.
  6. Pydantic 출력 파서 스트리밍 수정: Pydantic 출력 파서의 스트리밍 관련 문제가 수정되었습니다.
  7. 매개변수 이름 변경 지원: 함수에서 매개변수 이름을 변경할 수 있도록 _api.rename_parameter가 추가되었습니다.
  8. strict 모드에서 추가 속성 지원: strict 모드일 때 OAI 함수에 additionalProperties를 재귀적으로 추가하는 기능이 추가되었습니다.
  9. Pydantic v2 인자 테스트 수정: Pydantic v2 관련 인자를 사용하는 테스트가 수정되었습니다.
  10. UP(업그레이드) ruff 규칙 추가: 새로운 ruff 규칙이 추가되어 코드 품질을 높이는 데 기여하고 있습니다.
  11. 경고 메시지 개선: 서로 다른 부모 실행 ID에 대한 경고가 제거되었습니다.
  12. 중첩 서브 그래프 그리기 지원: draw_mermaid에서 중첩 서브 그래프를 그릴 수 있도록 지원이 추가되었습니다.
  13. 메시지 병합 시 구분자 지정 옵션 추가: merge_message_runs에서 메시지 병합 시 사용할 구분자를 지정할 수 있는 옵션이 추가되었습니다.
  14. UnionType 타입 변수 교체 수정: UnionType의 타입 변수 교체와 관련된 문제가 수정되었습니다.
  15. 오류 메시지 개선 및 테스트 추가: 일부 오류 메시지가 개선되었고, RunnableWithMessageHistory를 확인하기 위한 새로운 테스트가 추가되었습니다.

이와 같은 여러 가지 개선 사항이 포함된 이번 릴리즈는 코드의 안정성과 사용성을 높이는 데 기여하고 있습니다.

 

 

huggingface/transformers

v4.44.1

https://github.com/huggingface/transformers/releases/tag/v4.44.1

이번 Hugging Face Transformers v4.44.1 릴리즈는 다양한 버그 수정과 기능 개선이 포함되어 있습니다. 주요 내용은 다음과 같습니다:

  1. Gemma2 관련 수정:
    • FA2 생성 문제를 해결했습니다.
    • 패킹된 훈련을 사용하는 FA2의 문제를 수정했습니다.
    • Gemma2FlashAttention2에서 슬라이딩 윈도우 주의(attention) 기능을 수정했습니다.
  2. 버그 수정 및 개선:
    • is_torchdynamo_compiling 기능에서 넓은 예외 처리를 추가했습니다.
    • CPU와 메타에서 FSDP를 적절히 샤딩하는 방식에 대한 이전 수정사항을 되돌렸습니다.
    • 여러 GPU 환경에서 정적 캐시 문제를 수정했습니다.
    • VLM 생성 문제를 해결했습니다.
    • inputs_embeds를 입력으로 사용할 때 발생하는 문제를 수정했습니다.
  3. 기타 개선 사항:
    • 모델 카드에 자동으로 transformers 태그를 추가하도록 했습니다.
    • RoPE의 경우 구성(config)에서 head_dim을 사용할 수 있도록 했습니다.
    • 위치 ID를 다시 추가했습니다.
    • Zero-3가 누락되었을 때 사용자에게 경고하는 기능을 되돌렸습니다.
    • 코어 모델을 사용할 때 발생하는 오류 로그를 줄였습니다.

이 릴리즈는 전반적으로 Gemma2 모델의 특정 문제를 해결하고, 여러 가지 버그를 수정하여 안정성을 향상시키기 위한 노력의 일환으로 볼 수 있습니다. 

 

v4.44.2

https://github.com/huggingface/transformers/releases/tag/v4.44.2

이번 릴리즈인 v4.44.2는 주로 두 가지 회귀 문제를 수정한 패치 릴리즈입니다. 주요 내용은 다음과 같습니다:

  1. Jamba 캐시 수정: Jamba 캐시가 torch.nn.module을 제대로 사용하지 못하는 문제를 수정했습니다. (이슈 번호: #32894, 작성자: @xgal)
  2. Jamba에서 A의 dtype 필요 없음: Jamba에서 A의 데이터 타입(dtype)을 설정할 필요가 없다는 점을 수정했습니다. (이슈 번호: #32924, 작성자: @xgal)
  3. Processor.save_pretrained 회귀 수정: 이전 버전(#31691)에서 발생한 Processor.save_pretrained의 회귀 문제를 수정했습니다. (이슈 번호: #32921, 작성자: @leloykun)

이러한 수정사항들은 Jamba와 Processor의 기능을 개선하는 데 기여하고 있습니다.

 

 

vllm-project/vllm

v0.5.5

https://github.com/vllm-project/vllm/releases/tag/v0.5.5

vllm 프로젝트의 v0.5.5 릴리즈 노트는 여러 가지 중요한 업데이트와 개선 사항을 포함하고 있습니다. 주요 내용을 요약하면 다음과 같습니다.

성능 업데이트

  • 새로운 스케줄링 모드를 도입하여 CPU 오버헤드를 줄이고 여러 GPU 단계에서 미리 작업을 예약하는 기능을 추가했습니다. 이로 인해 8B 및 30B 모델을 실행하는 단일 GPU의 QPS(초당 쿼리 수)가 20% 향상되었습니다. --num-scheduler-steps 8 옵션을 설정하여 이 기능을 사용할 수 있습니다.
  • 플래시 샘플링 커널을 사용하여 디코딩 스루풋을 7% 향상시키고, 파이썬 할당을 줄여 24%의 성능 향상을 달성했습니다.
  • ZeroMQ 기반의 분리된 프론트엔드에 대한 여러 개선 사항도 포함되었습니다.

모델 지원

  • Jamba 1.5 모델을 지원하며, 첫 번째 오디오 모델인 UltravoxModel도 추가되었습니다.
  • 이미지 임베딩을 입력으로 지원하고, LLaVA 모델을 위한 SigLIP 인코더 및 대체 디코더를 지원하는 등 비전 모델에 대한 개선도 이루어졌습니다.
  • GGUF 모델의 로딩 및 텐서 병렬 처리 지원이 추가되었습니다.

하드웨어 지원

  • AMD의 경우, ROCm을 위한 fp8 선형 레이어가 추가되었습니다.
  • TPU 지원을 강화하고, 여러 호스트에서의 추론을 지원합니다.
  • Intel에 대한 여러 리팩토링도 진행되었습니다.

기타 개선 사항

  • 접두사 캐싱 성능 최적화 및 추측적 디코딩 기능이 추가되었습니다.
  • LLM 클래스에 새로운 chat 메서드가 추가되었고, run_batch API에서 임베딩을 지원합니다.
  • 다양한 양자화 관련 개선과 함께 커스텀 연산자 등록 기능을 통해 성능을 더욱 높였습니다.

버그 수정 및 기타 변경사항

  • 여러 버그 수정 및 문서 업데이트가 포함되어 있으며, 새로운 기여자들이 다수 참여하여 프로젝트가 지속적으로 발전하고 있습니다.

이번 릴리즈는 성능 향상과 다양한 모델 지원, 하드웨어 최적화 등이 두드러지며, 사용자의 편의성을 더욱 높여주는 방향으로 나아가고 있습니다.

 

 

microsoft/DeepSpeed

v0.15.0

https://github.com/microsoft/DeepSpeed/releases/tag/v0.15.0

이번 DeepSpeed v0.15.0 릴리즈에서는 여러 가지 주요 변경 사항이 포함되었습니다. 주요 업데이트는 다음과 같습니다:

  1. 버전 업데이트: 0.14.5 릴리즈 이후 버전 정보를 업데이트했습니다.
  2. 설치 파일 조정: pynvml 설치를 setup.py로 이동했습니다.
  3. MoE 지원 추가: MoE (Mixture of Experts)에서 top-k 게이트(k>2) 지원을 추가했습니다.
  4. CPU 오프로드 최적화: inf_or_nan_tracker를 CPU로 이동하여 CPU 오프로드를 지원했습니다.
  5. 동적 형태 지원: 파이프라인 병렬 엔진 입력에 대해 동적 형태를 지원하게 되었습니다.
  6. ZeRO 3 훅 추가 및 제거: ZeRO 3 훅을 추가하거나 제거했습니다.
  7. DeepNVMe GDS: DeepNVMe GDS 기능이 추가되었습니다.
  8. Transformers 버전 고정: nv-nightly에서 transformers 버전을 고정했습니다.
  9. 버그 수정: 여러 버그를 수정했습니다.
  10. HuggingFace와의 통합: 긴 시퀀스 병렬 처리(Ulysses)를 HuggingFace와 통합했습니다.
  11. CPU 호스트 오버헤드 감소: MoE 사용 시 CPU 호스트 오버헤드를 줄였습니다.
  12. PyTorch 2.4.0 호환성 업데이트: linear.py를 PyTorch 2.4.0과 호환되도록 업데이트했습니다.
  13. XPU API 정렬: 새로운 Intel PyTorch 확장 릴리스에 맞춰 XPU API를 정렬했습니다.

 

ollama/ollama

v0.3.7-rc6

https://github.com/ollama/ollama/releases/tag/v0.3.7-rc6

이번 릴리즈(v0.3.7-rc6)에서는 몇 가지 주요 변경 사항이 있습니다:

  1. CUDA 12 지원: 최신 NVIDIA GPU에서 성능이 최대 10% 향상되었습니다.
  2. ollama pull 및 ollama push 성능 개선: 느린 연결 환경에서도 이러한 명령의 성능이 개선되었습니다.
  3. 모델 재로드 문제 수정: OLLAMA_NUM_PARALLEL 설정 시 낮은 VRAM을 가진 시스템에서 모델이 재로드되는 문제를 해결했습니다.
  4. Linux 배포 방식 변경: 이제 Ollama는 tar.gz 파일로 배포되며, 이 파일에는 ollama 바이너리와 필요한 라이브러리가 포함되어 있습니다.

 


 

이번 주에도 다양한 오픈소스 프로젝트들이 활발히 발전하고 있음을 알 수 있습니다.
여러분이 관심을 갖고 있는 프로젝트들도 이번 릴리즈에서 개선된 부분이 있는지 꼭 확인해 보시길 바랍니다.
오픈소스 커뮤니티의 발전에 기여하는 개발자들에게 감사의 마음을 전하며, 앞으로도 더 많은 흥미로운 소식을 전해드리겠습니다.

읽어주셔서 감사합니다! 다음 주에도 유용한 정보로 찾아뵙겠습니다.

저작자표시

'AI > 오픈소스 릴리즈 노트' 카테고리의 다른 글

오픈소스 릴리즈 노트 읽기 - 24년 9월 1주차  (1) 2024.09.09
오픈소스 릴리즈 노트 읽기 - 8월 5주차  (2) 2024.09.02
오픈소스 릴리즈 노트 읽기 - 8월 3주차  (0) 2024.08.20
오픈소스 릴리즈 노트 읽기 - 8월 2주차  (1) 2024.08.10
오픈소스 릴리즈 노트 읽기 - 8월 1주차  (0) 2024.08.04
'AI/오픈소스 릴리즈 노트' 카테고리의 다른 글
  • 오픈소스 릴리즈 노트 읽기 - 24년 9월 1주차
  • 오픈소스 릴리즈 노트 읽기 - 8월 5주차
  • 오픈소스 릴리즈 노트 읽기 - 8월 3주차
  • 오픈소스 릴리즈 노트 읽기 - 8월 2주차
pfldy2850
pfldy2850
인공지능의 서비스화와 현실화에 관심이 많은 엔지니어입니다.
  • pfldy2850
    DEV.DY
    Github LinkedIn
  • 전체
    오늘
    어제
    • All (104)
      • AI (68)
        • 어플리케이션 개발 (11)
        • 모델 인퍼런스 (9)
        • 검색 시스템 (11)
        • MLOps (8)
        • 기술,논문 리뷰 (7)
        • Lecture notes (10)
        • 오픈소스 릴리즈 노트 (12)
      • Infra (4)
        • Kubernetes (1)
        • Service Mesh (1)
        • Service Proxy (1)
        • Storage (1)
      • Data Engineering (4)
        • Spark (3)
        • Kafka (1)
        • Delta Lake (0)
      • 컴퓨터 공학 (2)
        • 소프트웨어 공학 (2)
      • 개발 (15)
        • ReactJS (8)
        • NodeJS (2)
        • Python (3)
        • Pytorch (1)
        • git (1)
      • 영어공부 (2)
        • GPT로 영어 회화 공부 (2)
      • 활동 (2)
        • 2017 NDC (2)
      • 기타 (1)
      • 레거시 (6)
        • OS (6)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
pfldy2850
오픈소스 릴리즈 노트 읽기 - 8월 4주차
상단으로

티스토리툴바