본문으로 건너뛰기 © 2026 AIwitness. All rights reserved.
핵심 요약 기존 언어 모델을 재학습하지 않고 커넥터만 학습시켜 DeepSeek V4 Flash에 기본적인 시각 기능을 성공적으로 구현했습니다.
시각 기능 구현 — 언어 모델과 시각 인코더를 고정한 채 40M 파라미터의 커넥터만 학습함실험 결과 — 10만 개의 예제로 기본적인 이미지 인식 및 UI 요소 식별이 가능함을 확인비용 및 효율 — 약 2,000달러의 비용이 소요되었으며, 향후 100만 개 예제 학습을 위한 자금 및 협력 모집 중오픈 소스 기여 — 모델 가중치와 통합 코드를 공개하여 커뮤니티의 추가 연구를 장려함DeepSeek V4 Flash 0731 Vision NVFP4:
Laguna XS 2.1 Vision NVFP4:
What I built
DeepSeek V4 Flash: 전체 284B / 활성 13B MoE — 고정됨
MoonViT-3d: Kimi K2.6에서 가져온 417M 파라미터 이미지 인코더 — 고정됨
40.1M 파라미터 커넥터 — 학습됨
이미지 → 고정된 MoonViT → 1152차원 이미지 특징 → 2×2 패치 그룹 병합 → 소형 MLP 커넥터 → 4096차원 임베딩 → 고정된 DeepSeek V4 Flash
커넥터만 학습했고, 언어 모델이나 이미지 인코더의 가중치는 전혀 건드리지 않았다.
이미지는 최대 512개의 시각 토큰을 사용했고, 학습 시 최대 시퀀스 길이는 2048 토큰이었다.
Training data HuggingFaceM4/the_cauldron에서 10만 개의 예제를 샘플링했다.
일반적인 이미지 질문 및 캡션
OCR 및 텍스트가 많은 이미지
문서 및 인포그래픽
차트, 그래프 및 다이어그램
과학 관련 질문
공간 추론
웹사이트 스크린샷 및 UI 설명
한 가지 중요한 점은 10만 개의 예제가 곧 10만 개의 서로 다른 이미지를 의미하진 않는다는 거다.
데이터셋에는 고유 이미지가 3만 9619개밖에 없었는데, 일부 하위 데이터셋은 같은 이미지에 대해 여러 질문을 던지기 때문이다.
먼저 모든 고유 이미지에 대해 MoonViT의 출력값을 캐싱했다. 덕분에 학습할 때마다 417M 파라미터짜리 이미지 인코더를 다시 돌릴 필요가 없었다.
Training numbers
학습 가능한 파라미터: 40,119,040
학습 예제: 100,000
에포크: 1
글로벌 배치 사이즈: 128
옵티마이저 스텝: 782
옵티마이저: AdamW
학습률: 1e-3
정밀도: BF16
하드웨어: 5× H200
학습 처리량: 시간당 약 4,938개 예제
이론상 중단 없는 런타임: 약 20.25시간
전체 프로젝트 비용: 약 2,000달러
학습 마지막 단계에서 기록된 손실값은 1.0225에서 0.8301로 줄었다.
실제 실험 전체 비용은 순수 학습 시간보다 더 들었다. 데이터셋 준비, 저장, 모델 변환, 실패한 호스트, 반복된 로딩 시도, 추론 검증까지 포함해서 총 2,000달러 정도 썼다.
Does it work? 거리 사진 하나를 보여주니 사람, 상자, 가게 간판을 알아봤다. 브라우저 스크린샷에서는 사이드바의 "파일 업로드" 컨트롤을 찾아냈다. WebBrain UI 그라운딩 질문에서도 올바른 입력 폼 필드와 현재 열려 있는 메뉴를 정확히 짚어냈다.
이전 런타임에서 36토큰짜리 이미지 응답 하나를 처리하는 데 7.49초가 걸렸는데, 초당 약 4.81토큰을 생성하는 셈이다.
이로써 전체 파이프라인이 제대로 돌아간다는 게 증명됐다.
이미지가 MoonViT를 거쳐 처리됨.
학습된 커넥터가 그 표현을 DeepSeek의 임베딩 공간으로 변환함.
결과물인 시각적 임베딩이 DeepSeek의 응답에 영향을 줌.
모델을 NVFP4 가중치로 로드하고 서비스할 수 있음.
이 결과물은 경쟁력 있는 범용 VLM이라기보다는 '기본적인 시각 기능이 작동한다' 정도로 보는 게 맞다. 여전히 답변이 너무 짧거나, 작은 글씨를 놓치거나, 없는 시각 정보를 지어내거나, 복잡한 GUI 그라운딩에서 실패하는 경우가 있다.
문제는 커넥터 방식 자체가 틀려먹은 게 아니라, 학습 규모랑 다양성이 부족했다는 거다.
10만 개 예시로는 왜 부족했나 이건 아키텍처가 제대로 돌아가는지 확인하려고 해본 파일럿 테스트였다.
이미지-텍스트 쌍 10만 개를 넣긴 했는데, 정작 커넥터가 본 고유 이미지는 39,619개밖에 안 됐다. OCR, 문서, 복잡한 웹 인터페이스, 차트, 공간 추론, 그리고 마이너한 시각적 개념까지 다루기엔 다양성이 턱없이 부족한 수준이지.
다음번엔 꼼꼼하게 고른 이미지-텍스트 쌍을 100만 개 정도는 써야 한다. 고유 이미지 비율도 훨씬 높이고, 아래 항목들을 의도적으로 꽉 채워 넣어야 함.
웹사이트 및 앱 인터페이스
문서, 표, 차트
다양한 해상도의 OCR
그라운딩 질의응답 (Grounded question answering)
공간 관계 파악
자연 풍경 및 사물
다단계 시각적 지시 사항
환각(없는 텍스트나 사물 생성)을 방지하기 위한 하드 네거티브 예시
물론 100만 개 쓴다고 바로 Qwen3.6-VL이랑 비빌 수 있다는 건 아니다. 데이터셋 퀄리티, 해상도, 비주얼 토큰 예산, 커넥터 아키텍처, 학습 목표 같은 것들도 여전히 중요하니까.
그래도 10만 개 파일럿을 돌려보면서 데이터 규모를 키우는 게 지금 가장 확실한 변수라는 확신은 얻었다.
100만 개 학습 돌리면 비용은 얼마나 드나?
똑같은 5× H200 구성으로 약 202.5시간 소요
연속 학습 시 약 8.4일
제대로 된 100만 개 프로젝트라면 데이터셋 큐레이션, 고해상도 MoonViT 피처 생성, 학습률 및 아키텍처 파일럿 테스트, 최소 한 번의 어블레이션(ablation), 최종 학습, 공식 평가, 그리고 B200 배포 검증까지 다 포함해야 한다.
10만 개 실험 비용을 고려했을 때, 100만 개 단계를 제대로 끝내려면 대략 $15,000–$20,000 정도는 잡아야 할 거다.
지금 당장 내 사비로 다 털어 넣기엔 좀 부담스럽지만, 사용자나 기여자, 컴퓨팅 자원 제공자, 혹은 스폰서들이 진짜 관심이 있다면 직접 총대 메고 진행할 의향은 있다.
엔지니어링 디테일 몇 가지 DeepSeek 가중치는 얼려놨어도 학습할 땐 BF16 언어 모델이 필요했다. 커넥터까지 그래디언트가 전달되려면 DeepSeek를 거쳐서 역전파가 일어나야 하는데, FP8이나 NVFP4 추론 커널은 필요한 입력 그래디언트를 안 뱉어주거든.
DeepSeek의 해시 기반 MoE 라우팅도 비주얼 임베딩만 넣는 게 아니라 이미지 위치에 맞는 토큰 ID를 원하더라. 그래서 텍스트 쪽 ID는 그대로 두고, 비주얼 위치에는 결정론적(deterministic) 라우팅 ID를 따로 할당했음.
서빙할 때는 커스텀 이미지 프로세서랑, 라우팅 ID를 유지하면서 비주얼 임베딩을 끼워 넣는 모델 래퍼, 그리고 SGLang 통합 패치가 좀 필요했다.
이건 그냥 통합 과정에서 필요한 작업이었을 뿐, 커넥터 방식 자체가 실패했다는 증거는 아니다.
Laguna XS 2.1 버전도 학습해봤다 Laguna XS 2.1로도 똑같은 방식을 돌려봤다.
전체 33B / 활성 3B MoE
똑같이 얼려둔 MoonViT 인코더
학습 가능한 커넥터 파라미터 30.7M
학습 예시 10만 개
옵티마이저 스텝 782회
기록된 손실값: 0.8452 → 0.7318
장기적으로는 Laguna 버전을 96GB Blackwell GPU 한 장에서 돌릴 수 있게 만드는 게 목표다. 백본이 작으니까 나중에 학습이나 평가 돌릴 때 DeepSeek보다 훨씬 싸게 먹힐 거다.
크레딧 및 계보 이 프로젝트에 가장 직접적인 영감을 준 건 Baseten의 GLM-5.2 Vision NVFP4 릴리즈다:
Baseten은 실용적인 레시피를 보여줬지. 거대한 텍스트 전용 MoE는 얼려두고, MoonViT도 얼려두고, 그 사이에 비교적 작은 PatchMerger 커넥터만 학습시키는 방식이다.
걔네 49.5M 파라미터 프로젝터는 MoonViT의 1152차원 출력을 GLM-5.2의 6144차원 토큰 공간으로 매핑한다.
나는 이 설계를 DeepSeek에 맞춰서 이렇게 적용했다:
MoonViT 출력: 1152 차원
커넥터 은닉층: 4608 차원
DeepSeek 임베딩 공간: 4096 차원
학습 가능한 커넥터: 40.1M 파라미터
MoonViT 및 DeepSeek: 동결(frozen)
DeepSeek는 추가로 hash-MoE 라우팅 ID를 처리하고 커스텀 SGLang 통합을 구축해야 했음.
MoonViT를 만든 Moonshot AI, 텍스트 백본을 제공한 DeepSeek, 그리고 이런 방식의 동결된 비전 개조(frozen vision retrofit)가 실제 거대 모델 배포로 이어질 수 있음을 보여준 Baseten에게 공을 돌림.
이 프로젝트는 이미 후속 연구에 영감을 줌 가장 기분 좋은 성과 중 하나는 이 프로젝트가 다른 사람들도 같은 방향을 탐구하도록 자극했다는 점임.
내가 공유한 이후, TechMDAI가 Qwen 기반의 관련 후속 실험을 발표했음:
내가 모델 아티팩트와 통합 코드를 공개한 이유가 바로 이거임. 그냥 일회성으로 끝나는 게 아니라, 강력한 텍스트 전용 모델을 업그레이드하는 재현 가능한 기술로 자리 잡았으면 좋겠음.
내가 이걸 하는 이유 나는 오픈소스 브라우저 에이전트인 WebBrain 을 만들고 있음. 브라우저 에이전트는 DOM이나 추출된 텍스트만으로는 모든 걸 이해할 수 없음. 스크린샷, 대시보드, 차트, 대화창, 서식 있는 텍스트 편집기, 그리고 컨트롤의 실제 위치까지 볼 수 있어야 함.
우리가 진행한 오픈 모델 벤치마크 에서 DeepSeek V4 Flash와 Laguna XS 2.1이 각 사이즈 체급에서 돋보였지만, 둘 다 텍스트 전용이었음.
이 모델들을 훨씬 더 큰 네이티브 비전-언어 모델로 교체하는 대신, 기존 언어 모델을 그대로 유지하면서 유용한 시각적 인지 능력을 추가할 수 있을지 테스트해보고 싶었음.
파일럿 테스트 결과, 이게 가능하다는 게 증명됨. 이제 남은 질문은 실제 프로덕션 규모의 데이터셋으로 이 방법을 어디까지 밀어붙일 수 있느냐는 거임.
100만 개 예제 학습에 관심 있음? 관심 있는 사람들을 위해 짧은 설문지를 만들었음:
현재 모델 테스트
데이터셋이나 평가 케이스 기여
학습 또는 추론 엔지니어링 지원
GPU 자원 기부
다음 학습 단계 비용 후원
실제 제품에 더 강력한 버전 사용
이건 자금 지원 확약이 아님. 다음 단계에 필요한 약 15,000달러에서 20,000달러 정도의 비용을 들일 만큼 충분한 실제 수요가 있는지 확인하려고 응답을 받는 중임.
관심이 충분하다면, 직접 진행해서 결과물인 가중치, 평가 결과, 기술적 발견들을 전부 공개할 생각임.
다음 예산을 어디에 쏟아야 가장 큰 효과를 볼 수 있을 것 같음? 데이터 증량, 더 강력한 커넥터, 아니면 다른 비전 인코더?
주요 댓글 r/localllama 대부분의 사용자가 작성자의 실험 정신과 기술적 노력에 깊은 인상을 받았으며, 일부는 향후 DeepSeek의 공식 시각 모델 출시 가능성에 대해 논의하고 있습니다.
5 DeepSeek은 몇 달 전에 꽤 성능 좋은 OCR 모델을 만든 적이 있고, 차기 플래그십 모델(V4)에는 이미지 지원이 포함될 것이라고 암시한 적이 있어서, 굳이 그들 대신 이걸 구현하려고 너무 애쓰지는 않을 것 같아요. 보셨다시피 이건 비용이 많이 드는 작업이고, 기본적으로 포스트 트레이닝을 다시 하지 않는 이상 네이티브 모델만큼 성능이 나오기는 힘들 겁니다...
0 프리뷰 버전이 아닌 V4는 이미 출시되지 않았나요? 그래서 왜 멀티모달 기능이 없는지 조금 의아하네요.
4 코딩 수준에서 이게 어떻게 작동하는지 좀 더 설명해주실 수 있나요? 실행 파이프라인을 어떻게 제어하고 값을 전달/매핑하시나요?
4 간단히 말해서, 커넥터는 시각 인코더와 DeepSeek 언어 모델 사이의 학습 가능한 텐서 매핑 모듈입니다. 파이프라인은 대략 이렇습니다:
image = processor(images=image)
vision_features = vision_encoder(image) # [B, N, vision_dim]
image_embeds = connector(vision_features) # [B, N, llm_dim]
inputs_embeds = embed_text(input_ids) # [B, T, llm_dim]
inputs_embeds = insert_image_tokens(
1 정말 흥미롭네요, 제가 도울 수만 있다면 좋을 텐데! 저는 GPU가 없어요. 다른 방법으로 도울 수 있는지 알려주세요. 아니면 더 작은 모델로 시도해보되 엄청난 양의 데이터로 학습시켜 볼 수도 있을 것 같네요.
1 정말, 정말 흥미롭네요! 코멘트나 도움을 줄 만한 건 별로 없지만요. 하지만 당신이 들인 노력은 단순히 추천 누르고 떠나기엔 아까울 정도예요. 저도 이런 방식의 실현 가능성에 대해 궁금해했는데, 실제로 누군가 구조를 짜고 시도하는 걸 보니 정말 멋지네요.
1 저도 몇 가지 가능성을 탐색 중입니다. 학습을 사용하지 않고 DSV4F에 기본적인 시각 및 이미지 생성 능력을 부여해봤어요. 지금 개선 작업 중입니다. LLM 모델에 구애받지 않는 방식으로 구현하려고 노력하고 있어요.
0 초보적인 질문일 수 있는데, 왜 커넥터의 히든 레이어가 DeepSeek보다 512차원 더 큰 건가요? 그런 건 어떻게 결정하시나요?
0 초보적인 질문이 아니에요, 타당한 질문입니다. 커넥터의 중간 히든 사이즈가 DeepSeek의 트랜스포머 히든 사이즈와 일치할 필요는 없습니다. 오직 커넥터의 최종 출력값만 LLM의 임베딩 차원으로 투영되면 됩니다. 추가된 512차원은 시각 인코더의 특징을 언어 모델의 표현으로 투영하기 전에 변환하기 위한 추가적인 용량일 뿐입니다.
얼마 전에 DeepSeek이 V4 Flash의 특별한 Vision 버전에 대한 논문을 발표했지만(가중치는 공개 안 됨), 그 논문은 철회되었습니다:
아마 일반 공개할 준비가 안 됐다고 느꼈을 수도 있지만, 확실히 Vision 지원을 위해 작업 중인 건 맞아요. 제가 알기로는...
0 하지만 DeepSeek V4 Pro는 너무 커요 -- Kimi K3는 이미 멀티모달이고요.
-1 제 추측이지만, 만약 그들이 플래그십 V4 Pro 최종 버전에 시각 기능을 구현한다면, Flash 버전용 시각 변형 모델도 뒤따라 나오지 않을까 싶네요. 두고 봐야죠.
논문을 위해 DeepSeek V4 Flash의 시각 버전을 학습시켜 놓고(현재는 철회됨), 그걸 완전히 계획에서 삭제했을 리는 없다고 봅니다.
inputs_embeds, image_embeds, image_position
)
`logits = llm(inputs_embeds=inputs ...
미국 기업들이 비용 절감과 데이터 보안을 이유로 비싼 프론티어 AI 모델 대신 오픈 소스 모델로 눈을 돌리고 있음.
미국 기업들이 비용 절감과 데이터 보안을 이유로 비싼 프론티어 AI 모델 대신 오픈 소스 모델로 눈을 돌리고 있음.
r/ChatGPT & r/OpenAI • 약 11시간 전
AI의 능력과 한계를 둘러싼 커뮤니티 내의 끊임없는 논쟁과 반목을 다룬 포스트입니다.
AI의 능력과 한계를 둘러싼 커뮤니티 내의 끊임없는 논쟁과 반목을 다룬 포스트입니다.
r/ChatGPT & r/OpenAI • 1일 전
단체로 도망가는 고양이들의 모습을 담은 영상에 대한 커뮤니티 반응입니다.
단체로 도망가는 고양이들의 모습을 담은 영상에 대한 커뮤니티 반응입니다.