Skip to content

Commit 145e314

Browse files
committed
feat:Flash Attention explain modify
1 parent 988b0e5 commit 145e314

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

composeApp/src/commonMain/composeResources/values-zh/strings.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@
4747
<string name="settings_advanced_title">高级设置</string>
4848
<string name="settings_advanced_subtitle">实验性功能和优化</string>
4949
<string name="settings_flash_attn">Flash Attention (闪电注意力)</string>
50-
<string name="settings_flash_attn_desc">降低内存使用并可能加速生成</string>
50+
<string name="settings_flash_attn_desc">内存优化的注意力算法。推荐在内存有限的设备上启用(&lt;8GB)。</string>
51+
<string name="settings_flash_attn_info">**优势:**\n• 降低显存/内存使用约30-50%\n• 在现代GPU上可能加速生成\n• 数学上等价于标准注意力机制\n\n**兼容性:**\n• 在NVIDIA GPU上效果最佳(算力≥7.5)\n• 部分纯CPU环境可能不兼容\n• 如遇崩溃或画质异常请禁用\n\n**建议:**\n内存低于8GB或希望加速推理时启用。</string>
5152
<string name="settings_quantization">模型权重类型 (wtype)</string>
5253
<string name="settings_quantization_desc">控制模型权重在内存中的存储方式。精度越高=质量越好但占用内存越多。</string>
5354
<string name="settings_quantization_warning">⚠️ 仅供高级用户。更改需要重新加载模型(长时间初始化)且可能导致画质下降。大多数用户应保持"自动"。</string>

composeApp/src/commonMain/composeResources/values/strings.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@
4848
<string name="settings_advanced_title">Advanced Settings</string>
4949
<string name="settings_advanced_subtitle">Experimental features and optimizations</string>
5050
<string name="settings_flash_attn">Flash Attention</string>
51-
<string name="settings_flash_attn_desc">Reduces memory usage and potentially speeds up generation</string>
51+
<string name="settings_flash_attn_desc">Memory-optimized attention algorithm. Recommended for devices with limited RAM (&lt;8GB).</string>
52+
<string name="settings_flash_attn_info">**Benefits:**\n• Reduces VRAM/RAM usage by ~30-50%\n• May speed up generation on modern GPUs\n• Mathematically equivalent to standard attention\n\n**Compatibility:**\n• Works best on NVIDIA GPUs (compute capability ≥7.5)\n• May not work on some CPU-only setups\n• Disable if experiencing crashes or artifacts\n\n**Recommendation:**\nEnable if you have &lt;8GB RAM or want faster inference.</string>
5253
<string name="settings_quantization">Model Weight Type (wtype)</string>
5354
<string name="settings_quantization_desc">Controls how model weights are stored in memory. Higher precision = better quality but more RAM.</string>
5455
<string name="settings_quantization_warning">⚠️ Advanced users only. Changing this requires re-loading the model (long initialization) and may cause quality degradation. Most users should keep "Auto".</string>

composeApp/src/commonMain/kotlin/org/onion/diffusion/ui/screen/AdvancedSettingScreen.kt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ import minediffusion.composeapp.generated.resources.settings_advanced_title
6262
import minediffusion.composeapp.generated.resources.settings_back
6363
import minediffusion.composeapp.generated.resources.settings_flash_attn
6464
import minediffusion.composeapp.generated.resources.settings_flash_attn_desc
65+
import minediffusion.composeapp.generated.resources.settings_flash_attn_info
6566
import minediffusion.composeapp.generated.resources.settings_offload_to_cpu
6667
import minediffusion.composeapp.generated.resources.settings_offload_to_cpu_desc
6768
import minediffusion.composeapp.generated.resources.settings_keep_clip_on_cpu
@@ -134,6 +135,28 @@ fun AdvancedSettingScreen(
134135
)
135136
}
136137

138+
// Flash Attention Info Box
139+
if (chatViewModel.diffusionFlashAttn.value) {
140+
Spacer(modifier = Modifier.height(12.dp))
141+
142+
Box(
143+
modifier = Modifier
144+
.fillMaxWidth()
145+
.padding(horizontal = 20.dp)
146+
.clip(RoundedCornerShape(12.dp))
147+
.background(Color(0xFFE8F5E9)) // Light green success background
148+
.border(1.dp, Color(0xFF66BB6A), RoundedCornerShape(12.dp))
149+
.padding(12.dp)
150+
) {
151+
Text(
152+
text = stringResource(Res.string.settings_flash_attn_info),
153+
style = AppTheme.typography.bodySmall,
154+
color = Color(0xFF2E7D32), // Dark green text
155+
lineHeight = 18.sp
156+
)
157+
}
158+
}
159+
137160
SettingsRow(
138161
title = stringResource(Res.string.settings_offload_to_cpu),
139162
subtitle = stringResource(Res.string.settings_offload_to_cpu_desc),

0 commit comments

Comments
 (0)