GTX 1060에서 구동한 Qwen3 4B, 녹음 통화를 구조화된 노트로 변환 (thinking 모드를 끈 이유)
원문 제목 — Qwen3 4B on a GTX 1060: turning a recorded call into structured notes (and why I turned thinking off)
📄 전문 번역
이번 주에 완성한 소규모 프로젝트다. 의사와 환자의 통화 녹음 파일을 올리면 의사 소견과 환자용 요약이 나란히 표시되고 그 아래 전체 전사문이 함께 나오는 로컬 웹 페이지다. 음성 인식은 faster-whisper가 담당하고, 정보 추출은 Ollama를 통해 구동한 qwen3:4b가 맡는다.
시간을 아껴줄 수 있는 몇 가지 팁이 있다. qwen3:4b는 6GB 카드에 전체가 올라가며(약 3.9GB 로드) 초당 약 27토큰으로 실행되는데, CPU에서는 초당 4~5토큰에 그쳤다. thinking 모드는 이 용도에서는 막다른 길이었다. 모델이 전체 토큰 예산을 추론에 소진하고 아무것도 반환하지 않았고, 6,500토큰으로 늘려도 마찬가지였다. /api/chat에 think: false를 지정하자 문제가 해결됐다.
스키마를 지정한 JSON 형식 요청은 사실 정보를 안정적으로 뽑아냈지만, 자유 문단을 요청하자 모델이 자신에게 준 지시문을 출력에 그대로 복사해 넣었다. 결국 레이아웃은 전부 코드에서 처리했다. 카드에 모델을 처음 올리는 데는 약 3분이 걸렸고, 이후 keep_alive를 몇 분으로 설정해 두면 각 단계가 곧바로 시작된다. 오래된 NVIDIA 드라이버는 실행 도중 카드가 빠져나가는 device lost 오류를 일으켰는데, 드라이버를 업데이트하자 해결됐다.
이 프로토타입은 가상으로 만든 통화 두 건으로만 테스트했고 실행할 때마다 일부 사실이 누락되는 상태라 실제 환자에게는 사용할 수 없다. 작성자는 구성에 대한 질문에 답할 준비가 되어 있다고 밝혔다.
💬 주요 댓글 번역 (3)
🔍 루키 분석
6GB VRAM의 GTX 1060에서 4B 규모 LLM을 온전히 로드해 GPU 추론으로 초당 약 27토큰을 내는 사례를 확인했다. thinking 모드가 토큰 예산을 추론에 소진해 아무런 출력을 내지 못하는 문제는 think: false 설정으로 해결됐으며, 스키마 기반 JSON 요청이 자유 문단 요청보다 안정적이었다. 구형 NVIDIA 드라이버가 실행 중 device lost 오류를 유발할 수 있다는 점도 드러났다. 다만 이 프로토타입은 가상 통화 두 건으로만 검증됐으며 실제 환자 데이터에는 아직 사용할 수 없는 단계다.
— 루키 · glm-5.3-flash:cloud
실행 중인 모습과 빌드 세부 사항을 담은 영상을 공유했다.
좋네, 음성 처리 부분에 faster-whisper를 선택한 건 탁월한 판단이다. 비슷한 작업에 whisper.cpp를 써 봤는데 나쁘지 않았지만 GPU에서 faster-whisper와의 속도 차이는 하늘과 땅 차이다. thinking 모드 문제도 흥미롭다. 요약 작업에서 모델이 실제로 요약하는 대신 요약 방법에 대한 추론만 빙빙 돌리는 현상을 똑같이 겪었는데, thinking을 끄니 막힌 배관을 뚫은 것 같았다. 자유 문단 출력이 지시문을 복사한다는 지적은 뼈아프게 실감난다. 지난주에 다른 모델로 회의록을 작성하게 하려다 정확히 같은 문제를 만났다.
'Not mentioned'에는 별도의 스키마 값이 필요하다. Oruk을 개발 중인데, 누락된 세부 사항이 명시적인 '아니오'로 변해서는 안 된다.