한국어를 가장 잘 하는 RAG 전용 임베딩 모델인 BGE-M3를, Huggingface에서 제공하는 Python 구현체를 넘어, TensorFlow/Keras를 사용해 엔터프라이즈 환경에서 대규모 서빙이 가능한 형태로 재구현해보는 블로그 글입니다.

  1. 엔터프라이즈 서빙 지원
  • Java/Scala 기반 Hadoop-Spark 환경에서 대규모 분산 처리 가능
  • Kotlin/Spring Boot를 통한 고성능 서버 구현
  • TensorFlow Serving을 통한 대규모 프로덕션 환경 지원
  • TensorFlow Lite를 통한 모바일/임베디드 환경 지원
  1. 모델 구조의 단순화
  • Dense Layer와 LayerNorm만으로 핵심 구조 구현
  • 복잡한 Python 의존성 제거
  • 경량화된 구조로 높은 처리량 확보
  1. 구현 특징
  • Word/Position/Token Type 임베딩을 기본 Dense Layer로 구현
  • 24개의 Transformer 블록을 순수 TensorFlow 연산으로 구성
  • Multi-Head Self-Attention을 커스텀 구현하여 성능 최적화
  1. 실제 활용 사례
  • 대규모 Hadoop 환경에서의 분산 임베딩 처리
  • Spring Boot 기반 연합 학습 및 RAG 서비스
  • Apple Neural Engine 활용 모바일 추론
  • 엔터프라이즈급 TensorFlow Serving 배포

글에서 설명하는 구현 방식은 Python 종속성을 제거하고 TensorFlow의 네이티브 기능만을 활용하여, 대규모 엔터프라이즈 환경에서 안정적인 서비스가 가능한 것이 특징입니다.

글 자체는 그렇게 어렵지 않은데, 설명에 첨부된 코드들이 다소 불완전해서, 해당 방식으로 구현된 전체 코드가 공유 되어 있으면 더 좋을 것 같네요.

감사합니다
천천히 다시 봐야겠어요 ㅎㅎ