# 한국어를 가장 잘하는 RAG 임베딩 모델인 BGE-M3를 처음부터 구현하기

> Clean Markdown view of GeekNews topic #18603. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=18603](https://news.hada.io/topic?id=18603)
- GeekNews Markdown: [https://news.hada.io/topic/18603.md](https://news.hada.io/topic/18603.md)
- Type: news
- Author: [sigridjineth](https://news.hada.io/@sigridjineth)
- Published: 2025-01-06T21:30:10+09:00
- Updated: 2025-01-06T21:30:10+09:00
- Original source: [blog.sionic.ai](https://blog.sionic.ai/bge-m3)
- Points: 22
- Comments: 4

## Summary

이 블로그 글은 한국어에 특화된 RAG 임베딩 모델인 BGE-M3를 TensorFlow/Keras로 재구현하여 대규모 엔터프라이즈 환경에서 서빙할 수 있는 방법을 설명합니다. 모델은 Dense Layer와 LayerNorm을 사용하여 구조를 단순화하고, 복잡한 Python 의존성을 제거하여 높은 처리량을 확보합니다. 또한, 대규모 Hadoop 환경에서의 분산 처리, 모바일 추론, 엔터프라이즈급 TensorFlow Serving 배포 등 다양한 실제 활용 사례를 제공합니다.

## Topic Body

한국어를 가장 잘 하는 RAG 전용 임베딩 모델인 BGE-M3를, Huggingface에서 제공하는 Python 구현체를 넘어, TensorFlow/Keras를 사용해 엔터프라이즈 환경에서 대규모 서빙이 가능한 형태로 재구현해보는 블로그 글입니다.  
  
1. 엔터프라이즈 서빙 지원  
- Java/Scala 기반 Hadoop-Spark 환경에서 대규모 분산 처리 가능  
- Kotlin/Spring Boot를 통한 고성능 서버 구현  
- TensorFlow Serving을 통한 대규모 프로덕션 환경 지원  
- TensorFlow Lite를 통한 모바일/임베디드 환경 지원  
  
2. 모델 구조의 단순화  
- Dense Layer와 LayerNorm만으로 핵심 구조 구현  
- 복잡한 Python 의존성 제거  
- 경량화된 구조로 높은 처리량 확보  
  
3. 구현 특징  
- Word/Position/Token Type 임베딩을 기본 Dense Layer로 구현  
- 24개의 Transformer 블록을 순수 TensorFlow 연산으로 구성  
- Multi-Head Self-Attention을 커스텀 구현하여 성능 최적화  
  
4. 실제 활용 사례  
- 대규모 Hadoop 환경에서의 분산 임베딩 처리  
- Spring Boot 기반 연합 학습 및 RAG 서비스  
- Apple Neural Engine 활용 모바일 추론  
- 엔터프라이즈급 TensorFlow Serving 배포  
  
글에서 설명하는 구현 방식은 Python 종속성을 제거하고 TensorFlow의 네이티브 기능만을 활용하여, 대규모 엔터프라이즈 환경에서 안정적인 서비스가 가능한 것이 특징입니다.

## Comments



### Comment 33094

- Author: sigridjineth
- Created: 2025-01-07T13:22:28+09:00
- Points: 1

https://github.com/sionic-ai/BGE-M3-Model-Converter  
전체 코드를 공개하였습니다.

### Comment 33064

- Author: aer0700
- Created: 2025-01-07T04:32:06+09:00
- Points: 1

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

### Comment 33093

- Author: sigridjineth
- Created: 2025-01-07T13:22:18+09:00
- Points: 2
- Parent comment: 33064
- Depth: 1

https://github.com/sionic-ai/BGE-M3-Model-Converter  
전체 코드를 공개하였습니다.

### Comment 33159

- Author: aer0700
- Created: 2025-01-09T08:54:28+09:00
- Points: 1
- Parent comment: 33093
- Depth: 2

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