Yolo 비전 선전
선전
지금 참여하기
용어집

Reformer

Reformer 모델을 만나보세요: LSH 어텐션과 가역 레이어로 긴 시퀀스에 최적화된 혁신적인 트랜스포머 아키텍처입니다.

리포머는 표준 트랜스포머 아키텍처의 고효율 진화형으로, 최소한의 메모리 소비로 극도로 긴 데이터 시퀀스를 처리하도록 특별히 설계되었습니다. 2020년 Google 소개된 리포머는 기존 트랜스포머의 핵심 병목 현상인 어텐션 메커니즘의 이차적 비용 문제를 해결합니다. 표준 모델은 시퀀스 길이가 증가함에 따라 메모리 사용량이 폭발적으로 증가하여 긴 문서나 고해상도 이미지 처리에 어려움을 겪는 반면, 리포머는 이 복잡성을 거의 선형 수준으로 줄이는 새로운 기법을 사용합니다. 이 혁신적인 기술은 딥러닝 모델이 단일 GPU 그래픽 처리 장치)에서 최대 백만 개의 토큰에 이르는 컨텍스트를 분석할 수 있게 하여, 광범위한 컨텍스트 유지가 필요한 작업에 대한 새로운 가능성을 열어줍니다.

효율성 분야의 주요 혁신

리포머는 모델 훈련 과정에서 정보가 저장되고 처리되는 방식을 근본적으로 변화시키는 두 가지 주요 기술 혁신을 통해 탁월한 성능을 달성합니다.

  • 지역 민감 해싱(LSH) 주의:표준 트랜스포머에서는 모든 토큰(단어 또는 픽셀)이 다른 모든 토큰에 주의를 기울여 방대한 관계 행렬을 계산해야 합니다. 리포머는 이 완전 탐색을 LSH로 대체합니다. LSH는 유사한 벡터들을 "버킷"으로 묶는 기법입니다. 가능한 모든 연결을 확인하는 대신, 모델은 이러한 국소적 버킷 내에서만 어텐션을 계산합니다. 이 근사법은 매우 정확하면서도 계산 비용이 훨씬 저렴하여, 신경망이 관련 정보에 집중할 수 있게 하고 무관한 데이터 포인트에 자원을 낭비하지 않도록 합니다.
  • 가역 잔차 레이어: 심층 신경망은 일반적으로 역전파 과정에서 기울기를 계산하기 위해 모든 레이어의 활성도를 메모리에 저장해야 합니다. 네트워크가 깊어질수록 이 메모리 요구량은 급격히 증가합니다. 리포머는 가역적 레이어(RevNets)를 사용합니다. 이를 통해 어떤 레이어의 활성화 값도 다음 레이어의 출력으로부터 재계산할 수 있습니다. 이는 모델이 전체 네트워크 이력을 위한 중간 상태를 저장할 필요가 없음을 의미하며, 메모리 오버헤드를 획기적으로 줄이고 훨씬 더 깊은 아키텍처의 훈련을 가능하게 합니다.

실제 애플리케이션

리포머는 긴 문맥을 처리할 수 있는 능력 덕분에, 서로 멀리 떨어진 데이터 포인트 간의 관계가 중요한 분야에서 특히 유용합니다.

  1. 유전체 서열 분석:DNA 가닥은 매우 길며 수백만 개의 염기쌍을 포함하는 경우가 많습니다. BERT와같은 기존 모델은 전체 유전자 서열을 한 번에 처리할 수 없어, 서로 멀리 떨어진 유전자 마커가 서로에게 미치는 영향의 맥락을 놓칩니다. 리포머는 이러한 방대한 서열을 단일 처리로 흡수하여 연구자들이 유전자 기능을 식별하고 단백질 구조를 더 높은 정확도로 예측할 수 있도록 지원합니다. 이 기능은 의료 및 신약 개발 분야의 인공지능 발전을 위해 필수적입니다.
  2. 장문 문서 생성:일관된 이야기를 작성하거나 책 전체를 요약하려면 모델이 텍스트의 끝을 생성하는 동안 시작 부분의 세부 사항을 기억해야 합니다. 표준 언어 모델은 종종 장거리에서 "기억 상실" 현상을 겪습니다. 리포머는 재귀 신경망(RNN)보다 훨씬 우수한 서사적 일관성을 유지하며, 긴 법률 계약서, 기술 매뉴얼 또는 소설에 대한 강력한 텍스트 요약 및 생성을 가능하게 합니다.

관련 용어와의 차이점

리포머를 다른 효율성 중심 아키텍처와 구분하는 것이 유용합니다.

  • 리포머 대 롱포머: 두 모델 모두 긴 시퀀스 문제를 해결하기 위해 고안되었습니다. 롱포머는 슬라이딩 윈도우 어텐션 패턴(로컬 컨텍스트)과 특정 토큰에 대한 글로벌 어텐션을 결합합니다. 반면 리포머는 해시 기반 정렬(LSH)을 사용하여 시퀀스 내 어디에서든 동적으로 관련 토큰을 찾습니다.
  • 리포머 대 YOLO26: 리포머는 긴 시퀀스(텍스트, 오디오, 유전체 데이터)에 대한 메모리를 최적화하는 반면, YOLO26은 컴퓨터 비전에서 속도와 정확도를 위해 최적화된 객체 탐지 모델입니다. 리포머는 순차적 의존성을 처리하는 반면, YOLO26은 이미지의 공간적 특징을 처리합니다.

실무에서 긴 시퀀스 처리하기

리포머는 특정 아키텍처이지만, 긴 시퀀스를 효율적으로 관리하는 개념은 보편적입니다. 본질적으로 이미지 시퀀스인 비디오 작업을 할 때는 효율적인 데이터 처리가 중요합니다. 다음 예시는 리포머를 사용하는 방법을 보여줍니다. ultralytics 비디오 스트림을 프레임 단위로 처리하여 시퀀스 모델이 토큰을 처리하는 방식과 유사하게, 메모리 효율성을 보장합니다.

import cv2
from ultralytics import YOLO

# Load the YOLO26 model, optimized for efficiency and accuracy
model = YOLO("yolo26n.pt")

# Open a video file (simulating a long data sequence)
video_path = "path/to/long_video.mp4"
cap = cv2.VideoCapture(video_path)

# Process the sequence frame by frame to conserve memory
while cap.isOpened():
    success, frame = cap.read()
    if success:
        # Run inference on the current frame
        results = model(frame)

        # Display the annotated frame
        cv2.imshow("YOLO26 Inference", results[0].plot())

        # Break loop on 'q' key press
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        break

cap.release()
cv2.destroyAllWindows()

이러한 효율성 메커니즘을 이해하는 것은 제한된 자원을 가진 하드웨어에 인공지능 솔루션을 배포하거나 방대한 데이터셋을 처리하려는 개발자에게 핵심입니다. 모델 성능 최적화에 대한 자세한 내용은 Ultralytics 참조하십시오.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기