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

마트료시카 표현 학습(MRL)

마트료시카 표현 학습(MRL)이 어떻게 다중 세분화 임베딩을 가능하게 하는지 알아보세요. Ultralytics 검색 및 엣지 배포를 최적화하는 방법을 확인해 보세요.

마트료시카 표현 학습(MRL)은 인공지능(AI) 기계 학습(ML) 분야의 훈련 기법으로, 신경 망이 단일 출력 벡터 내에서 다중 세분화 임베딩을 학습하도록 유도합니다. 러시아의 마트료시카 인형에서 영감을 받은 MRL은 중요한 의미론적 정보가 앞부분에 집중되도록 임베딩을 구성합니다. 이는 고차원 벡터(예: 1024차원)를 기본적인 표현을 잃지 않으면서도 더 작은 중첩된 부분 집합(예: 512, 256 또는 64차원)으로 축소할 수 있음을 의미합니다. 이러한 유연성 덕분에 정보 검색 작업에 일반적으로 수반되는 계산 오버헤드를 획기적으로 줄일 수 있습니다.

마트료시카 표현 학습의 작동 원리

전통적으로 임베딩 모델은 고정된 출력 크기에 대해 특정 손실 함수를 최적화하도록 훈련됩니다. 시스템에서 메모리 절약을 위해 더 작은 벡터가 필요한 경우, 완전히 새로운 모델을 훈련해야 합니다. MRL은 훈련 단계에서 중첩된 손실 함수를 적용함으로써 이 문제를 해결합니다. 이는 전체 표현과 그 중첩된 부분 집합을 함께 최적화합니다. OpenAI와 같은 기업들은 최신 임베딩 API에 MRL을 도입하여, 개발자가 정확한 코사인 유사도 점수를 유지하면서 벡터의 끝부분에서 차원을 동적으로 제거할 수 있도록 지원하고 있습니다.

실제 애플리케이션

MRL은 정확도와 저장 비용, 메모리 대역폭 간의 균형을 맞출 때 뚜렷한 이점을 제공합니다.

  • LLM을 위한 적응형 벡터 검색: 검색 강화 생성(RAG) 파이프라인에서, 대규모 언어 모델(LLM)은 종종 방대한 벡터 데이터베이스에 의존합니다. MRL을 활용하면, 기업은 임베딩의 첫 64차원을 사용하여 빠르고 대략적인 의미 검색을 수행한 후, 전체 1024차원 벡터를 사용하여 상위 결과를 재순위화할 수 있습니다. 이러한 2단계 접근 방식은 벡터 검색 속도를 대폭 향상시키고 데이터베이스 저장 비용을 절감합니다.
  • 엣지 환경에서의 확장 가능한 컴퓨터 비전: Ultralytics 사용하여 컴퓨터 비전 시스템을 배포할 때, 하드웨어 제약 조건은 매우 다양할 수 있습니다. MRL을 활용하는 모델은 고성능 클라우드 배포 서버에는 전체 크기의 시각적 임베딩을 전송할 수 있지만, 저전력 엣지 컴퓨팅 장치에서 작동할 때는 128차원으로 축약된 임베딩을 전송하도록 원활하게 전환하여, 모델을 재훈련하지 않고도 지연 시간을 최적화합니다.

관련 개념 차별화

MRL을 제대로 활용하려면, 이를 기존의 데이터 압축 기술과 구분하는 것이 도움이 됩니다.

  • MRL 대 차원 축소: PCA(주성분 분석)나 t-SNE와 같은 알고리즘은 훈련 데이터를 압축하기 위해 적용됩니다. 반면, MRL은 훈련 과정에서 신경망 아키텍처에 기본적으로 통합되어, 더 깊은 비선형 관계성을 보존합니다.
  • MRL 대 모델 프루닝: 프루닝은 실제 신경망에서 가중치와 레이어를 제거하여 추론 속도를 높이는 기법으로, 예를 들어 모델의 Ultralytics YOLO 모델의 더 작은 변형을 만드는 것과 같습니다. MRL은 모델의 크기를 변경하지 않으며, 모델이 생성하는 출력 벡터의 크기만 변경합니다.

실제 구현

MRL 임베딩을 잘라내는 작업은 매우 간단하며 복잡한 의미론적 인덱싱 로직이 필요하지 않습니다. 가장 중요한 특징들은 초기 차원에 높은 가중치가 부여되어 있으므로, 배열을 단순히 잘라내기만 하면 됩니다. 다음 예제는 기본적인 PyTorch tensor 사용하여 시뮬레이션된 YOLO26 멀티모달 출력을 잘라내는 방법을 보여줍니다.

import torch

# Simulate a full 1024-dimensional MRL embedding returned by a model
full_embedding = torch.rand(1, 1024)

# To deploy on memory-constrained hardware, simply slice the first 256 dimensions
# Because the model was trained with MRL, this subset remains highly accurate
truncated_embedding = full_embedding[:, :256]

print(f"Original size: {full_embedding.shape[1]}, Compressed size: {truncated_embedding.shape[1]}")

함께 AI의 미래를 만들어 갑시다!

미래의 머신러닝 여정을 시작하세요