在 QT 项目中使用开源大模型

随着 ChatGPT 和 Stable Diffusion 的大热,AI 不再作为一个玩具,走进人们的视线,AIGC 产品也如雨后春笋一般纷纷涌现。然而对大多数 C++程序员而言,却处在尴尬的位置。

诚然,AI 的核心都是 C++实现的,但对于普通 C++程序员来说,门槛太高,参与不了。然而, C++程序员想将 AI 集成进产品,却发现大多数模型都是提供的 Python 接口,示例也是 Python 代码,甚至连网上的资料,也都是 Python 相关,想集成进 C++项目,难上加难。

最近在考虑 Qt 项目中使用开源大模型。这里的大模型不是 GPT,而是最早的 AI 应用领域:语音识别。功夫不负有心人,经过一番搜索,终于找到这样一个开源项目:whisper.cpp。

Whisper.cpp 是一个基于 OpenAI 的 Whisper 模型的 C++ 移植版本,具有轻量级、高效和可扩展的优势。

Whisper 模型则是出自 OpenAI 之手,OpenAI 有多牛,就不需要我多说了吧。

自动语音识别(ASR)是指将语音转换为文本的过程。ASR系统在各种应用中都有广泛的应用,包括语音到文本转换、口语翻译、虚拟助手和语音识别。

近年来,ASR系统取得了显著的进展。这主要归功于深度学习技术的快速发展。深度学习模型可以从大量数据中学习,从而提高ASR系统的准确性。

Whisper 模型是一个基于Transformer的编码器-解码器模型。Transformer是一种强大的神经网络架构,最初用于机器翻译。Transformer模型具有以下优点:

  • 它可以并行处理音频数据,从而提高训练速度。

  • 它可以学习长距离的依赖关系,从而提高准确性。

Whisper的训练数据集包含680,000小时的音频和文本数据。数据集包括来自各种来源的音频,包括电影、电视节目、新闻报道和公开演讲。

Whisper 支持多种语言,这其中就包括中文,这也是我选择 Whisper 的原因之一。

whisper.cpp 虽然是个人维护的项目,但看提交记录以及项目的介绍,感觉也是一位大牛的作品。作者写了比较详细的指南和教程,还有演示视频,比较靠谱。项目地址:

https://github.com/ggerganov/whisper.cpp

项目采用了 MIT License,这是一个相当宽松的开源协议,使用在商业项目中毫无问题。

由于 whisper.cpp 采用了 cmake 构建系统,所以集成进 QT 会相当方便。支持的平台有 Mac OS、IOS、Windows、Android等,如果你想开发跨平台应用,它也是一个不错的选择。

whisper.cpp 支持各种规模的模型,从 tiny 到 large,模型大小不同,占用的内存大小不同,适用于不同的使用场景。下面是作者给出的模型大小及内容占用情况:

在 QT 项目中使用开源大模型_第1张图片

源码中提供了丰富的示例代码,有兴趣的朋友可以点进去看一看。

外来的和尚是否好念经,能否平替国内的讯飞,还有待测试,请关注我后续的研究。

你可能感兴趣的:(在 QT 项目中使用开源大模型)