>  기사  >  기술 주변기기  >  HuggingFace에서 SOTA 시각적 모델을 만드는 방법을 알려드립니다.

HuggingFace에서 SOTA 시각적 모델을 만드는 방법을 알려드립니다.

王林
王林원래의
2024-06-05 21:39:58874검색

OpenAI의 GPT-4o가 있기 전, 그리고 이후 Google의 일련의 히트작이 등장했습니다. 고급 멀티모달 대형 모델이 속속 등장했습니다.

다른 실무자들도 충격을 받고 어떻게 하면 다시 슈퍼모델들을 따라잡을 수 있을지 고민하기 시작했습니다.

HuggingFace와 프랑스 소르본 대학의 이 논문에서는 대규모 시각적 모델을 구축하면서 얻은 주요 경험을 요약하고 개발자를 위한 방법을 지적했습니다.

HuggingFace에서 SOTA 시각적 모델을 만드는 방법을 알려드립니다.Pictures

이러한 경험은 모델 아키텍처 선택, 훈련 방법, 훈련 데이터 등과 같은 다양한 측면을 다룹니다. 저자는 여러 번 비교한 후 자세한 요약을 제공했습니다. 핵심 사항은 다음과 같습니다.

  • 대형 시각적 모델을 잘 수행하려면 아키텍처 선택이 매우 중요합니다.
  • 언어 모델은 시각적 모듈보다 전반적인 성능에 더 큰 영향을 미칩니다.
  • 단계적 사전 학습 전략을 채택하는 것이 모델 역량 구축에 더 도움이 됩니다.
  • 훈련 데이터에는 여러 유형이 포함되어야 하며 이들 간의 균형에 주의해야 합니다.

HF는 이러한 경험을 바탕으로 동일한 규모의 SOTA 비주얼 모델인 Idefics2를 만들 수 있었다고 할 수 있습니다.

Idefics2는 Mistral-7B를 기반으로 하며 전체 매개변수 볼륨이 8B이며 필기 글꼴을 정확하게 인식할 수 있습니다.

HuggingFace에서 SOTA 시각적 모델을 만드는 방법을 알려드립니다.Pictures

좋은 설문조사 보고서이고 비주얼 모델 개발자들에게 많은 도움이 된다고 말하는 전문가들의 좋은 리뷰지만, 동시에 이를 만병통치약으로 여기지 말 것을 일깨워줍니다. .

HuggingFace에서 SOTA 시각적 모델을 만드는 방법을 알려드립니다.Pictures

물론 어떤 사람들은 모든 아키텍처 데이터는 단지 클라우드일 뿐이며 GPU를 갖는 것이 가장 중요하다고 농담합니다.

HuggingFace에서 SOTA 시각적 모델을 만드는 방법을 알려드립니다.Pictures

약간의 진실이 있지만 농담은 제쳐두고 HuggingFace가 우리에게 어떤 경험을 가져다줬는지 살펴보겠습니다.

SOTA 모델 개발 실습에서 비롯됨

HuggingFace 논문의 이러한 경험은 시각적 모델 Idefics2의 개발 과정에서 비롯되었습니다.

이전 세대 Idefics1 및 Flamingo(동일 규모의 ex-SOTA)와 비교했을 때 Idefics2는 더 큰 13B 모델을 능가하며 여러 데이터 세트에서 우수한 성능을 발휘합니다.

동시에 COCO 데이터 세트의 Idefics2보다 약간 더 나은 MM1과 비교하여 Idefics2는 각 사진에서 훨씬 적은 토큰을 소비합니다.

HuggingFace에서 SOTA 시각적 모델을 만드는 방법을 알려드립니다.Pictures

Idefics2의 실제 개발에서 HuggingFace가 제공하는 경험에는 최소한 다음 측면이 포함됩니다.

  • 백본 및 아키텍처 선택
  • 훈련 방법 및 전략
  • 데이터 다양성 및 처리 전략

언어 모델이 전체 성능에 미치는 영향이 더 큽니다

현재 대형 시각적 모델은 주로 언어 모델 + 시각적 인코더 형태로 개발되고 있으며, 저자는 이 두 가지가 전체 성능에 미치는 영향을 별도로 평가했습니다.

결과는 시각적 모델보다 언어 모델의 품질이 더 중요하다는 것을 보여줍니다.

동일한 수의 매개변수를 사용하여 더 나은 언어 모델(예: Llama-7B를 Mistral-7B로 교체)을 사용하면 다운스트림 작업에서 대규모 시각적 모델의 성능을 크게 향상시킬 수 있습니다.

비주얼 인코더 업그레이드로 인한 개선은 상대적으로 제한적이므로 절충하는 가장 좋은 방법은 더 강력한 언어 모델에 우선순위를 두는 것입니다.

HuggingFace에서 SOTA 시각적 모델을 만드는 방법을 알려드립니다.Pictures

물론 이것이 비주얼 인코더 업그레이드가 효과가 없다는 의미는 아닙니다. 조건이 허용되는 경우 더 나은 비주얼 인코더를 선택하면 특정 성능 향상을 가져올 수도 있습니다.

또한 다운스트림 작업에 맞게 선택하는 데 주의를 기울여야 합니다. 예를 들어 텍스트 인식 작업의 경우 작업에 높은 추론 속도가 필요한 경우 더 가벼운 모델을 지원하는 시각적 인코더를 사용해야 합니다. 선택됩니다.

그리고 실제 애플리케이션에서는 추론 속도와 메모리 사용량도 고려해야 할 요소입니다. Idefics2가 선택한 SigLIP-SO400M은 성능과 효율성 사이의 적절한 균형을 달성했습니다.

필요에 따라 아키텍처 유형을 선택하세요

아키텍처 선택과 관련하여 이 문서에서는 두 가지 일반적인 아키텍처인 완전 자동 회귀와 교차 어텐션에 대해 논의합니다.

완전 자동 회귀 아키텍처는 전체 시퀀스의 종속성을 고려하여 자동 회귀 방식으로 각 출력을 생성합니다.

후자는 하나의 양식을 처리할 때 모델이 다른 양식의 다른 부분에 동적으로 집중할 수 있도록 하여 보다 유연한 상호 모달 상호 작용.

특정 작업에서 저자는 사전 훈련된 백본이 동결되었는지 여부에 따라 어떤 아키텍처가 더 잘 수행되는지가 결정된다는 사실을 발견했습니다.

(간단히 말하면, 사전 훈련된 백본이 정식 훈련 과정에 참여하면 non-frozen이고, 참여하지 않으면 동결됩니다.)

frozen되지 않으면 완전 자동 회귀 아키텍처가 더 나은 성능을 발휘합니다. , 그 반대의 경우 교차 주의 아키텍처가 더 잘 수행됩니다.

HuggingFace에서 SOTA 시각적 모델을 만드는 방법을 알려드립니다.Pictures

백본을 동결해야 하는지 여부는 개발자의 요구사항에 따라 다릅니다.

제한된 리소스 조건에서 고성능이 필요하고 지연 시간에 매우 민감한 경우 동결이 더 적합합니다.

모델의 유연성과 적응성을 높이려면 동결되지 않는 학습 방법을 선택해야 합니다.

특히 Idefics2의 경우 백본을 동결하지 않기로 결정했기 때문에 이에 따라 완전 자동 회귀 아키텍처를 채택했습니다.

HuggingFace에서 SOTA 시각적 모델을 만드는 방법을 알려드립니다.Pictures

훈련 단계에서의 경험

적절한 아키텍처를 선택하는 것도 중요하지만 훈련 과정도 중요합니다. Idefics2의 훈련 과정에서 저자는 참고를 위해 이러한 경험을 요약했습니다.

첫 번째 초기 단계에서는 저해상도 이미지를 사용한 다음 고해상도 PDF 문서를 도입하는 단계적 사전 학습 전략을 전체적으로 채택하는 것입니다. 이 접근 방식은 모델의 다양한 기능을 점진적으로 구축할 수 있습니다.

두 번째는 이미지 특징을 언어 모델에 직접 제공하는 대신 학습된 풀링을 사용하는 것입니다. 이는 이미지 토큰 수를 크게 줄이고 훈련 및 추론 효율성을 크게 향상시키며 성능도 향상시킬 수 있습니다.

세 번째는 데이터 향상입니다. 학습 중에 이미지를 여러 개의 하위 이미지로 분할하여 모델에 보내는 것입니다. 이는 추론 중에 더 강력한 성능을 위해 교환될 수 있습니다. 인식하지만 모든 이미지를 이런 방식으로 처리해야 하는 것은 아닙니다.

넷째, 명령어 미세 조정 단계에서 보다 다양한 데이터와 작업을 사용하면 모델의 일반화 및 견고성을 향상시킬 수 있습니다.

또한, 훈련을 안정화하기 위해 사전 훈련된 단일 모달 백본이 훈련에 참여할 때(고정되지 않음) 저자는 사전 훈련 매개변수를 조정하기 위해 LoRA 기술도 사용합니다.

데이터 다양성 및 처리 전략

학습 프로세스 자체 외에도 선택한 데이터도 모델 성능에 중요한 영향을 미칩니다.

수집 단계 초기부터 여러 유형의 데이터를 선택하는 데 주의를 기울여야 합니다. 예를 들어 Idefics2에서 사용하는 데이터에는 이미지와 텍스트 정렬이 있는 문서(예: 웹 페이지), 이미지-텍스트 쌍의 세 가지 범주가 포함됩니다. (예: 사진 제목) 및 OCR 주석이 포함된 PDF 문서.

다양한 데이터의 비율도 단순히 균등하게 나누는 것이 아니라 실제 필요에 따라 적절하게 균형을 이루어야 합니다.

데이터 크기는 조건이 허락한다면 많을수록 좋습니다. 물론 품질이 낮은 데이터를 필터링하는 데 주의가 필요합니다.

물론 수집은 훈련 데이터를 얻기 위한 단계일 뿐입니다. 모델을 잘 훈련시키려면 특정 처리가 필요합니다.

다양한 유형의 데이터에 대해 다양한 전처리 및 개선 전략을 채택하세요. 예를 들어 OCR 데이터의 경우 더 높은 해상도의 이미지를 사용해야 하지만 다른 데이터의 경우 더 낮은 해상도를 사용할 수 있습니다.

여기서 주목해야 할 점은 이미지를 처리할 때 원래 종횡비와 해상도가 유지되어야 한다는 것입니다. 이렇게 하면 훈련 및 추론의 계산 오버헤드를 크게 절약하는 동시에 모델 적응성을 향상시킬 수 있습니다.

이 경험이 당신에게 영감을 주었다고 생각한다면, 자세한 내용은 원본 논문을 읽어보시고 댓글 영역에서 개발 경험을 공유하셔도 됩니다.

논문 주소: https://www.php.cn/link/52c8b8d56837155b4870fc2658b676f0

위 내용은 HuggingFace에서 SOTA 시각적 모델을 만드는 방법을 알려드립니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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