>  기사  >  기술 주변기기  >  LLaVA를 모듈식으로 재구성하세요. 1~2개의 파일을 추가하여 구성 요소를 교체하세요. 오픈 소스 TinyLLaVA Factory가 여기에 있습니다.

LLaVA를 모듈식으로 재구성하세요. 1~2개의 파일을 추가하여 구성 요소를 교체하세요. 오픈 소스 TinyLLaVA Factory가 여기에 있습니다.

王林
王林원래의
2024-06-08 21:21:29380검색

TinyLLaVA+ 프로젝트는 칭화대학교 전자학과 멀티미디어 신호 및 지능형 정보 처리 연구소(MSIIP) Wu Ji 교수팀과 인공지능대학원 Huang Lei 교수팀이 공동으로 제작했습니다. 베이항대학교 출신. 칭화대학교 MSIIP 연구소는 오랫동안 지능형 의료, 자연어 처리 및 지식 발견, 다중 양식과 같은 연구 분야에 전념해 왔습니다. 베이징항공 팀은 오랫동안 딥 러닝, 다중 모드, 컴퓨터 비전과 같은 연구 분야에 전념해 왔습니다. TinyLLaVA+ 프로젝트의 목표는 언어 이해, 질문 및 답변, 대화 등 다중 모드 기능을 갖춘 소형 교차 언어 지능형 비서를 개발하는 것입니다. 프로젝트 팀은 각자의 장점을 최대한 활용하고 기술적 문제를 공동으로 극복하며 지능형 비서의 설계 및 개발을 실현할 것입니다. 이는 지능형 의료, 자연어 처리 및 지식 발견, 다중 양식과 같은 연구 분야에 새로운 돌파구를 가져올 것입니다. 동시에 Tsinghua University의 MSIIP 연구소는 오랫동안 지능화에 전념해 왔습니다

최근 Tsinghua University와 Beihang University는 다중 모드 대형 모델의 사용자 정의, 교육 및 평가를 지원하는 코드 라이브러리인 TinyLLaVA Factory를 공동으로 출시했습니다. . 코드와 모델은 모두 오픈 소스입니다 . 이 코드 베이스는 소프트웨어 엔지니어링의 공장 모델을 설계 개념으로 사용하고 코드의 가독성, 기능의 확장성 및 실험 결과의 재현성에 중점을 두고 LLaVA 코드 베이스를 모듈식으로 재구성합니다. 이를 통해 연구자와 실무자는 다중 모드 대형 모델의 훈련 및 설계 공간을 더 쉽게 탐색할 수 있습니다.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

  • Github 프로젝트: https://github.com/TinyLLaVA/TinyLLaVA_Factory
  • 문서 주소: https://arxiv.org/abs/2405.11788
  • 껴안고 얼굴 모델 주소: https://huggingface.co/tinyllava/TinyLLaVA-Phi-2-SigLIP-3.1B 또는 https://huggingface.co/bczhou/TinyLLaVA-3.1B-SigLIP
  • 하트의 심장 Machine SOTA 모델 주소: https://sota.jiqizhixin.com/project/tinyllava

LLaVA는 다중 모드 커뮤니티의 고품질 오픈 소스 프로젝트이며 연구원과 개발자가 선호합니다. 다중 모드 대형 모델을 처음 접하는 초보자도 다중 모드 대형 모델을 학습하고 훈련하기 위한 출발점으로 LLaVA 프로젝트를 사용하는 데 익숙합니다. 그러나 LLaVA 프로젝트의 코드는 상대적으로 모호하고 이해하기 어렵습니다. 실수로 오류가 변경되면 훈련 효과에 영향을 미칠 수 있습니다. 다중 모드 대형 모델은 특정 어려움에 직면했습니다.

최근 Tsinghua University와 Beihang University는 간단한 코드 구현, 새로운 기능의 확장성 및 훈련 결과의 재현성에 중점을 두고 원래 LLaVA 코드를 모듈화하고 재구성하는 TinyLLaVA Factory를 공동으로 출시하여 자신만의 맞춤화 및 훈련이 가능하도록 했습니다. 최소한의 코드량으로 코드 오류율을 줄이면서 다중 모드 대형 모델을 구현하세요! 동일한 모델 구성, 훈련 데이터 및 훈련 전략에서 TinyLLaVA Factory를 사용하면 LLaVA 코드를 사용하는 것보다 약간 더 나은 성능으로 모델을 훈련할 수 있습니다. 사용자가 코드를 더 쉽게 이해하고 모델을 사용할 수 있도록 TinyLLaVA Factory 프로젝트에는 코드 문서와 데모 웹사이트도 마련되어 있습니다. 전체적인 아키텍처는 아래 그림 [아키텍처 다이어그램]에 나와 있습니다.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

TinyLLaVA Factory는 데이터 전처리 부분에서 LLaVA 코드의 번거로운 이미지 처리와 프롬프트 처리 과정을 버리고 명확하고 간결한 확장 가능한 표준 이미지 및 텍스트 전처리 과정을 제공합니다. 그 중 이미지 전처리는 프로세서를 사용하여 맞춤화할 수도 있고, CLIP ViT 및 SigCLIP ViT와 함께 제공되는 이미지 프로세서와 같은 일부 공식 비주얼 인코더의 프로세서를 사용할 수도 있습니다. 텍스트 전처리의 경우 시스템 메시지(프롬프트) 추가, 토큰화 및 레이블 Ground Truth 생성 기능과 같은 기본 및 공통 기능을 제공하는 기본 클래스 템플릿이 정의됩니다. 사용자는 기본 클래스를 상속하여 다양한 LLM으로 쉽게 확장할 수 있습니다. 채팅 템플릿.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

모델 부분에서 TinyLLaVA Factory는 대형 멀티모달 모델을 대형 언어 모델 구성 요소, 시각적 인코더 구성 요소, 중간 커넥터 구성 요소의 세 가지 구성 요소로 자연스럽게 모듈화합니다. 각 구성 요소는 새 모델의 등록 및 교체를 담당하는 공장 개체에 의해 제어됩니다. 사용자는 다른 부품을 사용하지 않고도 구성 요소 중 하나를 보다 쉽게 ​​교체할 수 있습니다.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

TinyLLaVA Factory는 아래 표와 같이 각 구성 요소에 대해 현재 주류 모델을 제공합니다.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

트레이너는 Hugging Face와 함께 제공되는 트레이너를 사용하고 Gradient Accumulation, Wandb 로깅 및 기타 기능을 통합하고 DeepSpeed ​​​​ZeRO2/ZeRO3 병렬 교육을 지원하여 여전히 LLaVA를 모델로 합니다. 평가 부분의 경우 TinyLLaVA Factory는 SQA/GQA/TextVQA/VQAv2/POPE/MME/MM-Vet/MMMU의 8개 벤치마크 평가를 제공합니다.

다음으로 핵심을 강조해보겠습니다! TinyLLaVA Factory Github 프로젝트는 다중 모드 대형 모델을 사용자 정의하는 방법도 가르쳐줍니다. LLM 구성 요소, 비전 인코더 구성 요소, 커넥터 구성 요소는 1~2개의 파일을 추가하는 것만으로 쉽게 교체할 수 있습니다.

교체 LLM 모델을 예로 들어 보겠습니다. LLaVA 코드 기반을 사용해 본 학생들의 피드백에 따르면, Llama 시리즈가 아닌 언어 모델을 대체하려고 할 때 LLaVA 코드에서 오류가 발생하기 쉽습니다. TinyLLaVA Factory는 2개의 py 파일을 추가하여 언어 모델을 쉽게 교체할 수 있습니다. 하나는 채팅 템플릿 파일이고 다른 하나는 모델 파일입니다. 비주얼 인코더를 교체할 때 1개의 py 파일만 추가하고 비주얼 인코더의 기본 클래스를 상속하면 됩니다.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

TinyLLaVA Factory는 훈련 전략의 사용자 정의도 지원합니다. 사용자는 고정/전체 트리밍/부분 트리밍/의 조합을 달성하기 위해 3개의 모듈 구성 요소(LLM/비주얼 인코더/커넥터)를 사용자 정의하기 위해 구성 파일만 수정하면 됩니다. 로라 트리밍. 초보자도 쉽게 사용할 수 있는 튜토리얼입니다!

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

올해 2월 초 TinyLLaVA 프로젝트는 다중 모드 대형 모델에서 3B 이하 LLM의 잠재력을 예리하게 포착했으며 시장의 주류 소규모 LLM을 사용하여 일련의 다중 모드를 교육했습니다. 모달 대형 모델의 경우 매개변수 양은 0.89B-3.1B 사이입니다. 실험 결과에 따르면 고품질 데이터 선택과 보다 세부적인 교육 전략을 통해 소규모 LLM도 대규모 모델과 유사하거나 심지어 우수한 작업 성능을 달성할 수 있습니다. (자세한 내용은 기술 보고서 ​​https://arxiv.org/abs/2402.14289 참조)

위 내용은 LLaVA를 모듈식으로 재구성하세요. 1~2개의 파일을 추가하여 구성 요소를 교체하세요. 오픈 소스 TinyLLaVA Factory가 여기에 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.