Tongue: 온디바이스 언어 식별
짧은 텍스트를 읽고 그 언어를 알려주는 온디바이스 언어 식별. 84개 언어를 수십 마이크로초 만에 판별합니다.
Tongue는 단어, 구, 문장을 읽고 그것이 쓰인 언어를 돌려줍니다. 독일어 "kann ich das haben"부터 한국어 "안녕하세요"까지. 검색창, 채팅 메시지, 키보드 입력 같은 짧은 텍스트에 맞춰 조정되어 있으며, 이는 기기에서의 언어 감지 중 가장 어렵고 가장 쓸모 있는 경우입니다.
작업은 두 단계로 이루어집니다. 파라미터가 없는 문자 체계 라우터가 한 언어만 쓰는 문자의 텍스트를 판정합니다. 한글, 그리스 문자, 태국 문자 등 25종은 모델 없이 곧바로 확정됩니다. 여러 언어가 공유하는 문자에서는 해시된 문자 n-gram이 2 MB int8 모델로 들어갑니다. 토크나이저도, 어휘 파일도, 추론 런타임도 없으며, 짧은 입력이 정말로 모호할 때 Tongue는 추측하는 대신 확신이 없다고 말합니다.
데모
성능
2 MB로 최대 130배 큰 검출기와 맞섭니다.
세 가지 공개 벤치마크에서 실제 배포되는 int8 가중치로 측정했으며, 다른 검출기도 동일한 행과 언어 부분집합에서 실행했습니다. 전체 표와 실패 모드는 모델 카드에 있습니다.
활용 사례
언어별 텍스트 라우팅
사용자가 입력한 첫 몇 단어만으로 알맞은 번역 모델, 분석기, 지원 대기열을 고릅니다. 전부 기기 안에서 처리됩니다.
키보드와 입력
문장 중간에 언어를 감지해 자동 교정, 추천, 자판 배열을 전환합니다. 키 입력당 수십 마이크로초면 충분합니다.
검색과 콘텐츠 파이프라인
색인이나 모더레이션 전에 짧은 문자열에 언어를 태깅합니다. 네트워크 왕복도, 요청당 과금 서비스도 필요 없습니다.
정직한 불확실성
"la casa"는 이탈리아어로도 스페인어로도 똑같이 읽힙니다. Tongue는 하나를 억지로 고르는 대신 무승부를 알려서, 제품이 더 많은 텍스트를 요청할 수 있게 합니다.
기능 소개
- 84개 언어: 59개는 모델이 해독하고 25개는 문자 체계만으로 확정됩니다.
- 2 MB int8 가중치가 패키지에 내장되어 있으며, 아무것도 내려받지 않습니다.
- 감지 한 번에 수십 마이크로초, 메인 스레드에서 실행됩니다.
- Swift, Kotlin, JavaScript에서 동일한 답. 공유 골든 벡터로 검증됩니다.
- 추측하는 대신 신뢰도와 박빙의 무승부를 보고합니다.
플랫폼 및 설치
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/tongue", from: "0.1.2")
import Tongue
let tongue = try Tongue()
tongue.detect("kann ich das haben").language
// "de"
// build.gradle.kts (Maven Central)
implementation("ai.desertant:tongue:0.1.2")
import ai.desertant.tongue.Tongue
val tongue = Tongue.bundled(context)
tongue.detect("kann ich das haben").language
// "de"
npm i @desert-ant-labs/tongue
import { Tongue } from "@desert-ant-labs/tongue";
const tongue = await Tongue.load();
tongue.detect("kann ich das haben").language;
// "de"
Add Tongue from Desert Ant Labs to this project.
짧은 텍스트를 읽고 그 언어를 알려주는 온디바이스 언어 식별. 84개 언어를 수십 마이크로초 만에 판별합니다.
SDKs (use the one that matches this project's platform):
Swift (iOS, macOS)
Repo: https://github.com/Desert-Ant-Labs/tongue
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/tongue", from: "0.1.2")
Kotlin (Android)
Repo: https://github.com/Desert-Ant-Labs/tongue
// build.gradle.kts (Maven Central)
implementation("ai.desertant:tongue:0.1.2")
JavaScript / TypeScript (Web, Node.js)
Repo: https://github.com/Desert-Ant-Labs/tongue
npm i @desert-ant-labs/tongue
Reference:
- Model page: https://desertant.com/models/tongue/
- Full catalog and other models: https://desertant.com/llms.txt
Add the SDK that matches this project's platform, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
사양
- 언어
- 84개, 31개 문자 체계
- 온디바이스 크기
- 2.1 MB int8 가중치, 패키지에 내장
- 지연 시간
- 감지 한 번에 수십 마이크로초
- 접근 방식
- 문자 체계 라우터와 해시된 문자 n-gram을 int8 선형 헤드로
자주 묻는 질문
Tongue은(는) 무엇인가요?
짧은 텍스트를 읽고 그 언어를 알려주는 온디바이스 언어 식별. 84개 언어를 수십 마이크로초 만에 판별합니다.
Tongue은(는) 온디바이스로 실행되나요?
네. Tongue은(는) 전적으로 기기에서 실행됩니다. 추론이 서버 호출 없이 로컬에서 이루어지므로 데이터가 기기를 벗어나지 않습니다.
Tongue은(는) 어떤 플랫폼을 지원하나요?
Tongue은(는) Swift, Kotlin, JavaScript / TypeScript용 네이티브 온디바이스 SDK로 제공됩니다.
Tongue의 비용은 얼마인가요?
모든 모델은 SDK당 월간 활성 기기 10만 대까지 무료입니다. 사용자당 추론은 무제한입니다. 맞춤 라이선스는 문의하기 바랍니다.
Tongue은(는) 얼마나 정확하고 빠른가요?
2 MB로 최대 130배 큰 검출기와 맞섭니다.