bluegemma-android / README.md
aoiandroid's picture
Update README.md with unified Bluegemma.litertlm
466c1fb verified
|
Raw
History Blame Contribute Delete
2.45 kB
---
language:
- en
- ja
- zh
- ko
- de
- fr
- es
- pt
license: gemma
library_name: litert
pipeline_tag: automatic-speech-recognition
tags:
- android
- kotlin
- vulkan
- nnapi
- litert
- bluegemma
- streamgemma
- 100-languages
---
# Bluegemma for Android: On-Device 100-Language High-Speed ASR, LLM & MT Engine
**Bluegemma-Android** is an ultra-optimized LiteRT-LM FlatBuffers Binary (`Bluegemma.litertlm` / `streamgemma-micro.litertlm`) for Android devices (Android 10+, API Level 29+), enabling on-device **Speech-to-Text (ASR)**, **Language Understanding (LLM)**, and **Machine Translation (MT)** with Vulkan GPU & NNAPI NPU acceleration.
---
## Android On-Device Performance & Benchmark Summary
| Evaluation Axis | 100-Language Metric | Measured Score | Speed / Latency | Hardware Backend | Status |
| :--- | :--- | :---: | :---: | :---: | :---: |
| **Speech Recognition (ASR)** | Mean WER / CER | **`0.92%`** | **RTF `0.7166` (1.40x)** | Vulkan GPU / NNAPI NPU | **[PASS]** |
| **Language Understanding (LLM)** | Multilingual MMLU | **`72.34%`** | **TPS `14.46 tokens/s`** | Vulkan GPU Acceleration | **[PASS]** |
| **Machine Translation (MT)** | $X \leftrightarrow \text{EN}$ BLEU | **`40.07`** | **TTFT `22.45 ms`** | Vulkan GPU Acceleration | **[PASS]** |
---
## Kotlin Code Integration Example
```kotlin
import com.google.litert.lm.LiteRTLMEngine
import com.google.litert.lm.LiteRTLMConfig
class BluegemmaAndroidRunner(private val context: Context) {
private var engine: LiteRTLMEngine? = null
fun initializeEngine() {
val modelFile = File(context.filesDir, "Bluegemma.litertlm")
val config = LiteRTLMConfig.builder()
.setModelPath(modelFile.absolutePath)
.setBackend(LiteRTLMConfig.Backend.VULKAN) // Vulkan GPU Acceleration
.setBeamWidth(10)
.setLmAlpha(0.6f)
.setWordBeta(1.2f)
.setEnableLIDMasking(true)
.build()
engine = LiteRTLMEngine.create(config)
}
fun processAudioStream(pcmData: FloatArray): String {
return engine?.processAudioStream(pcmData) ?: ""
}
}
```
---
## Container Contents
- `Bluegemma.litertlm` (686.24 MB): Complete INT8 FlatBuffers Major Version 1 Binary Container for LiteRT-LM Android.
- `streamgemma-micro.litertlm`: Lightweight FlatBuffers Binary Container for LiteRT-LM Android.