This commit is contained in:
LittleMouse
2025-06-30 15:37:31 +08:00
parent d29e074afc
commit 7133a7612c
33 changed files with 4419 additions and 57 deletions
+65
View File
@@ -36,4 +36,69 @@
| whisper-base | 660.31 | 51.11 | v0.4 | v1.7 |
| whisper-small | 1606.08 | 148.92 | v0.4 | v1.7 |
`The STT test uses a 30-second wav English audio`
## Pyramid (AX650C)
### LLM
| model | ttft (ms) | avg-token/s | model version | llm version |
|---------------------------------|------------|-------------|---------------|-------------|
| qwen2.5-0.5B-Int4-ax650 | 136.65 | 40.01 | v0.4 | v1.8 |
| qwen2.5-1.5B-Int4-ax650 | 285.93 | 17.62 | v0.4 | v1.8 |
| qwen2.5-3B-Int4-ax650 | 546.34 | 9.79 | v0.4 | v1.8 |
| qwen2.5-7B-Int4-ax650 | - | - | v0.4 | v1.8 |
| deepseek-r1-1.5B-Int4-ax650 | 281.88 | 18.31 | v0.4 | v1.8 |
| deepseek-r1-7B-Int4-ax650 | - | - | v0.4 | v1.8 |
`The input text used by the llm test is "hello!“`
### VLM
| model | ttft (ms) | avg-token/s | image encode (ms) | model version | vlm version |
|---------------------------------|------------|-------------|-------------------|---------------|-------------|
| internvl2.5-1B-448-ax650 | 430.86 | 29.76 | 370.82 | v0.4 | v1.7 |
| smolvlm-256M-ax650 | 57.79 | 74.22 | 104.16 | v0.4 | v1.7 |
| smolvlm-500M-ax650 | - | - | - | v0.4 | v1.7 |
`The image encoding test uses a jpg image with a size of 810*1080`
### STT
| model | encode (ms) | avg-decode (ms) | model version | whisper version |
|--------------------|-------------|-----------------|---------------|-----------------|
| whisper-tiny-ax650 | 21.19 | 5.72 | v0.4 | v1.7 |
| whisper-base-ax650 | 50.1 | 9.93 | v0.4 | v1.7 |
| whisper-small-ax650| 188.98 | 29.77 | v0.4 | v1.7 |
`The STT test uses a 30-second wav English audio`
## Sipeed (AX650N)
### LLM
| model | ttft (ms) | avg-token/s | model version | llm version |
|---------------------------------|------------|-------------|---------------|-------------|
| qwen2.5-0.5B-Int4-ax650 | 134.49 | 42.34 | v0.4 | v1.8 |
| qwen2.5-1.5B-Int4-ax650 | 282.07 | 18.31 | v0.4 | v1.8 |
| qwen2.5-3B-Int4-ax650 | 543.67 | 9.73 | v0.4 | v1.8 |
| qwen2.5-7B-Int4-ax650 | 1136.33 | 4.54 | v0.4 | v1.8 | 4335MB CMM
| deepseek-r1-1.5B-Int4-ax650 | 281.80 | 18.37 | v0.4 | v1.8 |
| deepseek-r1-7B-Int4-ax650 | - | - | v0.4 | v1.8 |
`The input text used by the llm test is "hello!“`
### VLM
| model | ttft (ms) | avg-token/s | image encode (ms) | model version | vlm version |
|---------------------------------|------------|-------------|-------------------|---------------|-------------|
| internvl2.5-1B-448-ax650 | 427.35 | 30.44 | 371.7 | v0.4 | v1.7 |
| smolvlm-256M-ax650 | 57.31 | 74.16 | 106.44 | v0.4 | v1.7 |
`The image encoding test uses a jpg image with a size of 810*1080`
### STT
| model | encode (ms) | avg-decode (ms) | model version | whisper version |
|--------------------|-------------|-----------------|---------------|-----------------|
| whisper-tiny-ax650 | 21.16 | 5.62 | v0.4 | v1.7 |
| whisper-base-ax650 | 50.21 | 9.68 | v0.4 | v1.7 |
| whisper-small-ax650| 188.69 | 28.34 | v0.4 | v1.7 |
`The STT test uses a 30-second wav English audio`
+56
View File
@@ -54,3 +54,59 @@ if 'CONFIG_AX_620E_MSP_ENABLED' in os.environ:
'REGISTER':'static'
})
if 'CONFIG_AX_650N_MSP_ENABLED' in os.environ:
MSP_PATH = ''
if 'CONFIG_MSP_V3_0_0_ENABLED' in os.environ:
MSP_PATH = os.environ.get('EXT_MSP_PATH', check_wget_down("https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/linux/llm/m5stack_ax650n_msp.tar.gz", 'm5stack_ax650n_msp.tar.gz'))
SRCS=[]
INCLUDE=[]
PRIVATE_INCLUDE=[]
REQUIREMENTS=[]
STATIC_LIB=[]
DYNAMIC_LIB=[]
DEFINITIONS=[]
DEFINITIONS_PRIVATE=['']
LDFLAGS=[]
LINK_SEARCH_PATH=[]
env["MSP_PATH"] = MSP_PATH
# , os.path.join(MSP_PATH, 'sample/common')
INCLUDE += [os.path.join(MSP_PATH, 'out/include'), os.path.join(MSP_PATH, 'sample'), os.path.join(MSP_PATH, 'sample/rtsp')]
LINK_SEARCH_PATH += [os.path.join(MSP_PATH, 'out/lib')]
REQUIREMENTS += ['dl', 'm', 'pthread']
third_party = ['drm','faac','fdk-aac','ffmpeg','libsamplerate','mp4','opencv','opus','tinyalsa']
for dirn in third_party:
INCLUDE.append(os.path.join(MSP_PATH,'third-party',dirn,'include'))
LINK_SEARCH_PATH.append(os.path.join(MSP_PATH,'third-party',dirn,'lib/arm64/glibc'))
INCLUDE.append(os.path.join(MSP_PATH,'third-party/live/out/include/liveMedia'))
INCLUDE.append(os.path.join(MSP_PATH,'third-party/live/out/include/groupsock'))
INCLUDE.append(os.path.join(MSP_PATH,'third-party/live/out/include/UsageEnvironment'))
INCLUDE.append(os.path.join(MSP_PATH,'third-party/live/out/include/BasicUsageEnvironment'))
INCLUDE.append(os.path.join(MSP_PATH,'component/isp_proton/sensor/platform/tcm'))
LINK_SEARCH_PATH.append(os.path.join(MSP_PATH,'third-party/libsamplerate/lib'))
INCLUDE.append(os.path.join(MSP_PATH,'third-party/openssl/include'))
LINK_SEARCH_PATH.append(os.path.join(MSP_PATH,'third-party/openssl/arm64/glibc/lib'))
LINK_SEARCH_PATH.append(os.path.join(MSP_PATH,'third-party/tinyalsa/lib'))
LINK_SEARCH_PATH.append(os.path.join(MSP_PATH,'third-party/fdk-aac/lib'))
LINK_SEARCH_PATH.append(os.path.join(MSP_PATH,'third-party/opus/lib'))
LINK_SEARCH_PATH.append(os.path.join(MSP_PATH,'app/lib'))
if 'CONFIG_SAMPLE_COMMON_ENABLED' in os.environ:
if 'CONFIG_MSP_V3_0_0_ENABLED' in os.environ:
INCLUDE.append(os.path.join(MSP_PATH,'sample/common'))
SRCS += AGlob(os.path.join(MSP_PATH,'sample/common/*.c*'))
env['COMPONENTS'].append({'target':os.path.basename(env['component_dir']),
'SRCS':SRCS,
'INCLUDE':INCLUDE,
'PRIVATE_INCLUDE':PRIVATE_INCLUDE,
'REQUIREMENTS':REQUIREMENTS,
'STATIC_LIB':STATIC_LIB,
'DYNAMIC_LIB':DYNAMIC_LIB,
'DEFINITIONS':DEFINITIONS,
'DEFINITIONS_PRIVATE':DEFINITIONS_PRIVATE,
'LDFLAGS':LDFLAGS,
'LINK_SEARCH_PATH':LINK_SEARCH_PATH,
'REGISTER':'static'
})
@@ -1134,7 +1134,7 @@ AX_S32 main(AX_S32 argc, AX_CHAR *argv[])
// init engine
AX_ENGINE_NPU_ATTR_T npu_attr;
memset(&npu_attr, 0, sizeof(npu_attr));
#if defined(CHIP_AX650)
#if defined(CONFIG_AX_650N_MSP_ENABLED)
if (nNpuType == 0) {
npu_attr.eHardMode = AX_ENGINE_VIRTUAL_NPU_DISABLE;
} else if (nNpuType >= 1 && nNpuType <= 4) {
@@ -1073,7 +1073,7 @@ AX_S32 main(AX_S32 argc, AX_CHAR *argv[]) {
// init engine
AX_ENGINE_NPU_ATTR_T npu_attr;
memset(&npu_attr, 0, sizeof(npu_attr));
#if defined(CHIP_AX650)
#if defined(CONFIG_AX_650N_MSP_ENABLED)
if (nNpuType == 0) {
npu_attr.eHardMode = AX_ENGINE_VIRTUAL_NPU_DISABLE;
}
+4 -3
View File
@@ -22,9 +22,10 @@ DEFINITIONS += ['-std=c++17']
LDFLAGS+=['-Wl,-rpath=/opt/m5stack/lib', '-Wl,-rpath=/usr/local/m5stack/lib', '-Wl,-rpath=/usr/local/m5stack/lib/gcc-10.3', '-Wl,-rpath=/opt/lib', '-Wl,-rpath=/opt/usr/lib', '-Wl,-rpath=./']
# INCLUDE += [ADir('../include'), ADir('../include/cppzmq'), ADir('../include/libzmq')]
LINK_SEARCH_PATH += [ADir('../static_lib')]
REQUIREMENTS += ['ax_sys', 'ax_interpreter', 'ax_audio', 'ax_audio_3a', 'ax_fdk', 'ax_opus']
REQUIREMENTS += ['tinyalsa', 'opus', 'samplerate', 'fdk-aac']
REQUIREMENTS += ['ax_sys', 'ax_audio', 'ax_audio_3a', 'tinyalsa', 'fdk-aac', 'opus', 'samplerate']
if 'CONFIG_AX_620E_MSP_ENABLED' in os.environ:
REQUIREMENTS += ['ax_sys', 'ax_interpreter', 'ax_audio', 'ax_audio_3a', 'ax_fdk', 'ax_opus']
REQUIREMENTS += ['tinyalsa', 'opus', 'samplerate', 'fdk-aac']
STATIC_FILES += [AFile('audio.json')]
STATIC_FILES += Glob('mode_*.json')
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More