DeepSeek V4+ Turbovec + RAG: Better OCR & Self-Hosted
약 2주 전 AI 업계가 핵심으로 흔들렸다. 실리콘 밸리 대기업은 "더 많은 GPU, 더 많은 전력, 더 많은 투자"라는 논리와 경쟁했지만 중국의 DeepSeek은 완전히 다른 길을 보여주었습니다.
수백만 달러의 제한된 예산으로, 그들은 수 천억 달러로 구축 된 경쟁 모델과 동등한 성과를 달성했습니다.
이것은 단순히 비용 절감이 아니라 AI 개발 자체의 패러다임을 "양자"에서 "지능"으로 전환 한 역사적인 전환점이었습니다.
DeepSeek은 새로운 모델 인 DeepSeek V4 Preview를 발표했습니다. 공식 메시지는 “비용 효율적인 1M 컨텍스트 길이”였습니다. 즉, 실제 비용으로 최대 1 백만 개의 토큰의 긴 컨텍스트를 처리 할 수 있습니다. DeepSeek-V4-Pro 및 DeepSeek-V4-Flash의 두 버전이 출시되었습니다.
Pro 버전에는 1.6조 개의 총 매개변수와 49B 활성 매개변수가 있으며 Flash 버전에는 284B 총 매개변수와 13B 활성 매개 변수가 있으며 둘 다 100만 토큰의 컨텍스트를 지원합니다.
그러나 단순히 V4를 "새로운 고성능 LLM"으로 기각하는 것은 다소 잘못된 것입니다. V4의 진정한 의미는 긴 컨텍스트, 저렴한 비용, 개방형 가중치 및 Huawei Ascend 호환성의 네 가지 요소의 조합에 있습니다.
마지막 비디오에서 TurboQuant를 다루었지만 어떻게 구현했는지는 알 수 없었습니다. 이 이야기에서는 단계별로 구현을 안내합니다.
Turbovec은 Google Research에서 개발 한 TurboQuant 알고리즘을 기반으로 Rust로 작성된 빠른 벡터 인덱싱 라이브러리입니다. 또한 Python 바인딩을 제공하며 pip을 사용하여 쉽게 설치할 수 있습니다.
이 도구의 핵심은 논문에서 제안 된 양자화 방법의 충실한 구현입니다. 좀 더 자세한 설명을 원하시면 마지막 비디오를 확인하십시오.
그래서, 모든 것이 어떻게 작동하는지 보여주기 위해 라이브 챗봇의 빠른 데모를 제공합니다.
자산 및 부채가 포함된 이미지를 업로드하고 모든 형식으로 업로드할 수 있습니다. 이미지가 직접 표시됩니다.
에이전트가 출력을 생성하는 방법을 살펴보면 에이전트가 PdfReader 방법을 사용하여 모든 페이지에서 원시 텍스트를 추출하고 하나의 긴 문자열로 병합하는 것을 볼 수 있습니다. 그런 다음이 텍스트를 약 500 자 중 작은 덩어리로 나누어 나중에 콘텐츠를 검색하고 검색하는 것이 더 쉽습니다.
그 후, 나는 Ollama에서 실행되는 임베딩 모델에 모든 덩어리를 보냅니다.이 모델은 각 청크를 그 의미를 나타내는 숫자 벡터로 변환합니다.
이 벡터는 TurboVec 인덱스에 저장되므로 키워드가 아닌 유사성으로 빠르게 검색될 수 있습니다.
그런 다음 에이전트는 동일한 임베딩 모델을 사용하여 쿼리를 벡터로 변환하므로 문서 청크와 동일한 의미 공간에 유지됩니다. 그런 다음 TurboVec 인덱스를 검색하고 의미론적 유사성을 기반으로 상위 일치 청크를 검색합니다.
이 검색된 덩어리는 원본 텍스트에 다시 매핑되고, 청소되고, 단일 컨텍스트 문자열로 결합됩니다. 그런 다음 Ollama를 통해 언어 모델에 사용자 질문과 함께이 컨텍스트를 보냅니다.
프롬프트는 모델이 제공된 컨텍스트만을 사용하고 교육 데이터를 기반으로 추측을 피할 수 있도록 설계되었습니다. 마지막으로, 모델은 답을 생성합니다.
이 코드는 많은 시간과 노력이 필요했기 때문에 Patreon에서 사용할 수 있습니다. 내가 만드는 것을 즐기고 이와 같은 더 많은 프로젝트를보고 싶다면 Patreon에서 나를 지원하면 고품질 콘텐츠를 계속 만들 수 있습니다. 나는 진정으로 당신의 지원에 감사하겠습니다