【实践】基于SakuraLLM的离线日文漫画及视频汉化

news2025/1/30 19:18:34

介绍

LLM

大型语言模型(英语:large language model,LLM),也称大语言模型,是由具有大量参数(通常数十亿个权重或更多)的人工神经网络组成的一类语言模型。在进行语言理解与分析(如文本分类、信息抽取)后,可以赋能用于语言生成(含文本创作、对话、机器翻译)、知识问答与推理等工作。

Qwen2.5

Qwen2.5是一款由阿里根据自己的预训练策略、优化目标和数据筛选方法,不断迭代,开源的基础模型。

SakuraLLM

SakuraLLM也在不断的迭代。通过SakuraLLM的介绍主页我们知道SakuraLLM目前的发布版本基于Qwen2.5进行微调,其宗旨是提供可控可离线自部署的、ACGN风格的日中翻译模型。

实践

得益于SakuraLLM提供高于网络词典的翻译质量,我们可以配合其他工具,在免费非商用的前提下,为我们实现漫画翻译以及日语视频生成中午字幕这些满足个人娱乐的功能。

前置准备

首先说一下博主的机器配置

显卡 ROG STRIX GeForce RTX® 4080 16GB GDDR6X 猛禽

CPU i7-13700KF 

内存 32.0 GB

获取翻译模型

首先这里介绍一下模型中的大模型中0.5B, 1.5B, 3B, 7B, 14B, 32B是什么意思

这些数字(0.5B, 1.5B, 3B, 7B, 14B, 32B)通常表示大语言模型(如GPT、BERT等)中的参数数量,单位是十亿(B代表“Billion”)。参数是模型学习的关键部分,它们决定了模型的复杂性和能力。具体来说:

  • 0.5B 表示模型有 5 亿个参数。
  • 1.5B 表示模型有 15 亿个参数。
  • 3B 表示模型有 30 亿个参数。
  • 7B 表示模型有 70 亿个参数。
  • 14B 表示模型有 140 亿个参数。
  • 32B 表示模型有 320 亿个参数。

随着参数数量的增加,模型的计算能力和表示能力通常也会提高,但这也意味着需要更多的计算资源和数据来训练模型。大模型(如 GPT-3、GPT-4)通常有数百亿甚至数千亿个参数。

目前发布的正式版模型如下,参考上述我的设备规格目前我选用的是sakura-14b-qwen2.5-v1.0-iq4xs.gguf

模型显存大小模型规模
sakura-7b-qwen2.5-v1.0-iq4xs.gguf8G/10G7B
sakura-14b-qwen2.5-v1.0-iq4xs.gguf11G/12G/16G14B
sakura-14b-qwen2.5-v1.0-q6k.gguf24G14B

p.s. 如果无法连接到HuggingFace服务器,可将链接中的huggingface.co改成hf-mirror.com,使用hf镜像站下载。

安装Python

因为对于大模型的丰富生态支持,因此大多数工具都是基于Python来开发,因此我们需要在官方网站下载并安装python-3.12.4

启动模型

为了更简化操作,我用使用了SakuraLLMServer来启动模型,根据提示把翻译模型放到文件夹中启动即可。

文件结构如下

  SakuraLLMServer\llama\...
                    \00_Core.bat
                    \01_1280_NP16.bat
                    \sakura-14b-qwen2.5-v1.0-iq4xs.gguf
                    \...
显存大小模型规模启动脚本
8G/10G7B01_1280_NP16.bat
11G14B01_1280_NP4.bat
12G14B01_1280_NP6.bat
16G/24G14B01_1280_NP16.bat

结合我的配置启动01_1280_NP16.bat脚本即可

下面两个功能的使用默认已经做好前置准备

漫画翻译

一张漫画使用程序翻译大概需要通过日文识别、日译中翻译、译文漫画重嵌3个步骤。

遵从不使用第三方整合下载(防病毒)的原则自行部署,目前我部署成功的项目是BallonsTranslator: 深度学习辅助漫画翻译工具, 支持一键机翻和简单的图像/文本编辑,如果我们使用BallonsTranslator进行漫画翻译,那么他具体的操作流程如下

使用本文描述的的部署方式,不想自己手动配置环境,需要能正常访问互联网

1. 从 MEGA 或 Google Drive 下载 BallonsTranslator_dev_src_with_gitpython.7z,正常来说执行launch_win.bat即可。

1.1 但是因为各种原因,有可能项目相关的lib没办法正常下载,因此在上述描述的数据载体中下载data 和 ballontrans_pylibs_win.7z,下载并放到所属文件夹即可

2.打开应用后配置Sakura,因为项目本身早已对SakuraLLM进行对接,下面的参数默认即可

3.选择我们图片所在的文件夹点击RUN

应用日志

日语视频生成中文字幕

一个视频使用程序翻译大概需要通过让提取音频、识别音频提取对话内容、对话字幕进行日译中3个步骤。

目前我部署成功的项目是VoiceTransl,使用VoiceTransl进行字幕生成与翻译,那么他具体的操作流程如下

1. 根据提示下载最新版本的VoiceTransl

1.1 把sakura的模型放置到llama文件夹下

文件结构如下

_internal/llama/
sakura-14b-qwen2.5-v1.0-iq4xs.gguf

2. VoiceTransl本身不带语音识别模型的因此我们要自行下载 faster-whisper-large-v3 、DLL文件和EXE文件 ,放到whisper-faster文件夹下

文件结构如下

faster-whisper-large-v3/
    config.json
    model.bin
    preprocessor_config.json
    tokenizer.json
    vocabulary.json
cublas64_11.dll
cublasLt64_11.dll
cudnn_cnn_infer64_8.dll
cudnn_ops_infer64_8.dll
zlibwapi.dll
whisper-faster.exe

3. 设置模型

4. 选择需要翻译的视频

程序会在调用faster-whisper-large-v3提取音频内容后,自行调用sakuraLLm进行翻译

不过通过开源模型来进行识别音频,那么就代表了不一定能进行百分百的对话识别,如我使用的这个视频【IGN】PC版《最终幻想7 重生》游戏特性介绍视频识别到的对话内容大概只有60%,可能是因为有背景配乐的原因。因此要完整的视频字幕我们需要或多或少的给翻译的字幕文件进行对话内容步充。

AiNiee

这里我发现的一个问题,就是VoiceTransl自行调用模型文件进行翻译的效率比较一般,鉴于我对字幕srt文件的认识,他本质上是一个txt文件,因此我打算利用AiNiee对txt文件进行翻译,发现测试效率比VoiceTransl自己调用的方式高,使用AiNiee进行汉化的方式如下:

1. 下载并解压AiNiee

2. 使用SakuraLLM接口,设置项目类型为Txt小说文件,确保SakuraLLMServer已正常启动

2.  把字幕的.srt后缀改成的.txt文件后缀放到AiNiee的input文件夹,开始翻译即可,翻译成功后文件会放到output文件夹

感悟

目前开源大模型,更多的是适合给自己赋能,希望后续能通过更多的了解带来更多好玩的内容

参考:大型语言模型WIKI

Qwen2.5: 基础模型

【LLM】从零开始训练大模型

SakuraLLM

【VoiceTransl】离线AI全自动烤肉 支持多语言 支持字幕合成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2286560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常见的同态加密算法收集

随着对crypten与密码学的了解,我们将逐渐深入学习相关知识。今天,我们将跟随同态加密的发展历程对相关算法进行简单的收集整理 。 目录 同态加密概念 RSA算法 ElGamal算法 ELGamal签名算法 Paillier算法 BGN方案 Gentry 方案 BGV 方案 BFV 方案…

SSM-MyBatis-总结

文章目录 一、Hello MyBatis1.1 流程1.2 总结 二、Crud 的一些注意点三、参数传递3.1 #{ } VS ${ }3.2 单、复参数传递(1)单参数(2)多参数 -- Param(3)总结 四、查询结果返回--结果封装4.1 ResultType 一般…

万字长文总结前端开发知识---JavaScriptVue3Axios

JavaScript学习目录 一、JavaScript1. 引入方式1.1 内部脚本 (Inline Script)1.2 外部脚本 (External Script) 2. 基础语法2.1 声明变量2.2 声明常量2.3 输出信息 3. 数据类型3.1 基本数据类型3.2 模板字符串 4. 函数4.1 具名函数 (Named Function)4.2 匿名函数 (Anonymous Fun…

Flutter android debug 编译报错问题。插件编译报错

下面相关内容 都以 Mac 电脑为例子。 一、问题 起因:(更新 Android studio 2024.2.2.13、 Flutter SDK 3.27.2) 最近 2025年 1 月 左右,我更新了 Android studio 和 Flutter SDK 再运行就会出现下面的问题。当然 下面的提示只是其…

【Proteus仿真】【51单片机】简易计算器系统设计

目录 一、主要功能 二、使用步骤 三、硬件资源 四、软件设计 五、实验现象 联系作者 一、主要功能 1、LCD1602液晶显示 2、矩阵按键​ 3、可以进行简单的加减乘除运算 4、最大 9999*9999 二、使用步骤 系统运行后,LCD1602显示数据,通过矩阵按键…

JavaScript函数中this的指向

总结:谁调用我,我就指向谁(es6箭头函数不算) 一、ES6之前 每一个函数内部都有一个关键字是 this ,可以直接使用 重点: 函数内部的 this 只和函数的调用方式有关系,和函数的定义方式没有关系 …

51单片机入门_01_单片机(MCU)概述(使用STC89C52芯片;使用到的硬件及课程安排)

文章目录 1. 什么是单片机1.1 微型计算机的组成1.2 微型计算机的应用形态1.3 单板微型计算机1.4 单片机(MCU)1.4.1 单片机内部结构1.4.2 单片机应用系统的组成 1.5 80C51单片机系列1.5.1 STC公司的51单片机1.5.1 STC公司单片机的命名规则 2. 单片机的特点及应用领域2.1 单片机的…

51单片机入门_02_C语言基础0102

C语言基础部分可以参考我之前写的专栏C语言基础入门48篇 以及《从入门到就业C全栈班》中的C语言部分,本篇将会结合51单片机讲差异部分。 课程主要按照以下目录进行介绍。 文章目录 1. 进制转换2. C语言简介3. C语言中基本数据类型4. 标识符与关键字5. 变量与常量6.…

时间轮:XXL-JOB 高效、精准定时任务调度实现思路分析

大家好,我是此林。 定时任务是我们项目中经常会遇到的一个场景。那么如果让我们手动来实现一个定时任务框架,我们会怎么做呢? 1. 基础实现:简单的线程池时间轮询 最直接的方式是创建一个定时任务线程池,用户每提交一…

人工智能如何驱动SEO关键词优化策略的转型与效果提升

内容概要 随着数字化时代的到来,人工智能(AI)技术对各行各业的影响日益显著,在搜索引擎优化(SEO)领域尤为如此。AI的应用不仅改变了关键词研究的方法,而且提升了内容生成和搜索优化的效率&…

【NLP251】NLP RNN 系列网络

NLP251 系列主要记录从NLP基础网络结构到知识图谱的学习 1.原理及网络结构 1.1RNN 在Yoshua Bengio论文中( http://proceedings.mlr.press/v28/pascanu13.pdf )证明了梯度求导的一部分环节是一个指数模型…

【越学学糊涂的Linux系统】Linux指令篇(二)

一、pwd指令: 00x0:打印该用户当前目录下所属的文件路径 看指令框可以看出我用的是一个叫sw的用户,我们的路径就是在一个home目录下的sw目录下的class113文件路径。 也可以说是指出当前所处的工作目录 补充:🎆​​​​​​​Wi…

【AI论文】Omni-RGPT:通过标记令牌统一图像和视频的区域级理解

摘要:我们提出了Omni-RGPT,这是一个多模态大型语言模型,旨在促进图像和视频的区域级理解。为了在时空维度上实现一致的区域表示,我们引入了Token Mark,这是一组在视觉特征空间中突出目标区域的标记。这些标记通过使用区…

Java面试题2025-并发编程基础(多线程、锁、阻塞队列)

并发编程 一、线程的基础概念 一、基础概念 1.1 进程与线程A 什么是进程? 进程是指运行中的程序。 比如我们使用钉钉,浏览器,需要启动这个程序,操作系统会给这个程序分配一定的资源(占用内存资源)。 …

Three城市引擎地图插件Geo-3d

一、简介 基于Three开发,为Three 3D场景提供GIS能力和城市底座渲染能力。支持Web墨卡托、WGS84、GCJ02等坐标系,支持坐标转换,支持影像、地形、geojson建筑、道路,植被等渲染。支持自定义主题。 二、效果 三、代码 //插件初始化…

MySQL的复制

一、概述 1.复制解决的问题是让一台服务器的数据与其他服务器保持同步,即主库的数据可以同步到多台备库上,备库也可以配置成另外一台服务器的主库。这种操作一般不会增加主库的开销,主要是启用二进制日志带来的开销。 2.两种复制方式&#xf…

【后端开发】字节跳动青训营Cloudwego脚手架

Cloudwego脚手架使用 cwgo脚手架 cwgo脚手架 安装的命令: GOPROXYhttps://goproxy.cn/,direct go install github.com/cloudwego/cwgolatest依赖thriftgo的安装: go install github.com/cloudwego/thriftgolatest编辑echo.thrift文件用于生成项目&…

ArcGIS10.2 许可License点击始终启动无响应的解决办法及正常启动的前提

1、问题描述 在ArcGIS License Administrator中,手动点击“启动”无响应;且在计算机管理-服务中,无ArcGIS License 或者License的启动、停止、禁止等均为灰色,无法操作。 2、解决方法 ①通过cmd对service.txt进行手动服务的启动…

Cyber Security 101-Build Your Cyber Security Career-Security Principles(安全原则)

了解安全三元组以及常见的安全模型和原则。 任务1:介绍 安全已成为一个流行词;每家公司都想声称其产品或服务是安全的。但事实真的如此吗? 在我们开始讨论不同的安全原则之前,了解我们正在保护资产的对手至关重要。您是否试图阻止蹒跚学步…

NLP模型大对比:Transformer > RNN > n-gram

结论 Transformer 大于 RNN 大于 传统的n-gram n-gram VS Transformer 我们可以用一个 图书馆查询 的类比来解释它们的差异: 一、核心差异对比 维度n-gram 模型Transformer工作方式固定窗口的"近视观察员"全局关联的"侦探"依赖距离只能看前…