Repository navigation
fix(ai): Deepgram keywords 힌트 제거 — 한국어에서 효과가 없다 - #258
Merged
Merged
Conversation
#255 에서 nova-2 로 바꾸며 `keywords` 힌트 경로가 깨어났다. 그때는 "운영 키로 호출해 200 + 전사 동일"을 보고 안전하다고 적었는데, **비교 1회로는 '효과 없음'과 '비결정성'을 구분할 수 없었다.** 제대로 측정했다. 같은 오디오(101/466.webm)로 힌트 유/무 5회씩: 힌트 없음 297자 x4, 285자 x1 질문전체 힌트 297자 x4, 285자 x1 **두 조건의 출력 분포가 동일하다.** 차이처럼 보이던 것은 힌트가 아니라 nova-2 자체의 비결정성이었다. 단어 하나 + 강도(`백오프:10`)로 줄여도, 영어 단어 (`jitter:10`)로 바꿔도 같았다 — 한국어에서 Deepgram keyword boosting 은 동작하지 않는다. (`keyterm` 은 nova-2 에서 400: "only supported for Nova-3".) 그래서 params["keywords"] 를 뺀다. 효과가 없는데 · 매 호출마다 질문 본문 200자를 외부로 보내고 · Deepgram 이 언젠가 이 값을 반영하기 시작하면 답변 전사가 질문 어휘 쪽으로 끌려간다 — 채점하는 서비스에서 그건 사용자가 하지 않은 말로 감점되는 것이다 (nova-3 를 환각 때문에 뺀 것과 같은 이유) hint 인자 자체는 SttProvider 공통 인터페이스라 남겨 둔다. 덤으로 알게 된 것: **nova-2 는 비결정적이다.** 같은 파일 10회 중 2회가 답변 마지막 문장("여기까지 하겠습니다.")을 빠뜨렸다. 재전사가 다른 결과를 내는 것은 버그가 아니라 이 성질 때문이고, 실패하지 않았어도 재전사가 도움이 될 수 있다는 뜻이다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
먼저, 앞선 판단을 정정한다
#255 에서 nova-2 로 바꾸며
keywords힌트 경로가 깨어났다(whisper 는 400 이라 잠들어 있던코드다). 그때 나는 "운영 키로 호출해 200 + 전사 동일 확인" 이라고 적고 안전하다고 판단했다.
그 근거는 부족했다. 비교 1회로는 "효과가 없다"와 "효과가 있는데 우연히 같았다"를 구분할 수
없고, 더 중요하게는 모델 자체의 비결정성과도 구분할 수 없다. 실제로 구분되지 않았다.
제대로 측정
같은 오디오(
101/466.webm)로 힌트 유/무 5회씩:두 조건의 출력 분포가 동일하다. 차이처럼 보이던 것은 힌트가 아니라 nova-2 자체의
비결정성이었다.
형식 문제도 아니다:
keywords=<질문 전체>keywords=백오프:10(단어+강도)keywords=jitter:10(영어 단어)keyterm=<질문>only supported for Nova-3 and Flux한국어에서 Deepgram keyword boosting 은 동작하지 않는다.
그래서 뺀다
효과가 0인데:
채점하는 서비스에서 그건 사용자가 하지 않은 말로 감점되는 것이다 — nova-3 를 환각 때문에
제외한 것과 같은 이유다.
hint인자 자체는SttProvider공통 인터페이스라 남겨 둔다(다른 제공자가 쓸 수 있다).테스트는 "nova 에서 실린다"에서 "어떤 모델에서도 실리지 않는다" 로 뒤집었다.
덤으로 알게 된 것 — nova-2 는 비결정적이다
같은 파일 10회 중 2회가 답변의 마지막 문장을 빠뜨렸다:
이건 이 PR 로 고칠 수 있는 게 아니다. 다만 재전사(
retranscribe)가 다른 결과를 내는 것은버그가 아니라 이 성질 때문이고, STT 가 실패하지 않았어도 재전사가 도움이 될 수 있다는 뜻이다.
ai/CLAUDE.md에 기록해 뒀다.검증
AI
pytest418 passed / black clean / flake8 clean