资源推荐:bellard.org网站的工程介绍

bellard.org

https://bellard.org/

ts_zip

https://bellard.org/ts_server/ts_zip.html
ts_zip: Text Compression using Large Language Models
用大型语言模型进行文本压缩

ts_server软件提供的ts_zip工具可以使用大型语言模型对文本文件进行压缩(并希望进行解压缩)。与其他压缩工具相比,压缩比明显更高。当然,也存在一些注意事项:

与NNCP不同,解压时必须有语言模型可用。
必须使用GPU以获得合理的速度。根据模型大小,速度在几kB/s到一百kB/s之间变化。
必须在压缩和解压缩时使用完全相同的GPU型号和程序版本。
模型是冻结的,因此仅适用于模型已经见过的语言的文本文件。

TextSynth Server

https://bellard.org/ts_server/
https://bellard.org/ts_server/ts_server.html (说明文档, 有安装使用说明,但需要gpu)

TextSynth Server是一个Web服务器,提供对大型语言模型的REST API。这些模型可以用于文本完成、问答、分类、聊天、翻译和图像生成等多种用途。

News
2024-01-20: 添加了Mixtral模型支持。新增基于Whisper的快速语音转文字功能。
2023-10-21: Windows版本新增CUDA支持,增加了Mistral模型支持。支持推测性抽样,以及BNF语法和JSON模式抽样。
2023-08-07: GPU版本和模型转换工具现在免费提供。新增ts_zip实用程序,可使用大型语言模型高效压缩文本文件。
2023-07-21: 支持MPT和Llama 2模型。
2023-06-10: 新增ts_chat实用程序,可与语言模型聊天。支持Falcon和RedPajama-INCITE模型。
2023-03-26: 添加了NLLB200和flan UL2模型。ts_server现在提供HTML GUI。
简介
ts_server是一个Web服务器,提供对大型语言模型的REST API。它可以用于文本完成、问答、分类、聊天、翻译、图像生成等多种用途。
具有以下特点:

一切都包含在单个二进制文件中。几乎没有外部依赖项(无需Python),因此安装非常简便。
支持许多Transformer变种(GPT-J、GPT-NeoX、GPT-Neo、OPT、Fairseq GPT、M2M100、CodeGen、GPT2、T5、RWKV、LLAMA、Falcon、MPT、Llama 2、Mistral、Mixtral、Whisper)和Stable Diffusion。
集成REST JSON API,用于文本完成、翻译、图像生成和音频转录。它被textsynth.com使用。
集成HTML GUI用于测试。
在CPU和GPU上进行小批量和大批量操作时具有非常高的性能。支持动态批处理以处理大量同时请求。
高效的自定义8、4和3位量化。我们的量化模型经过全面评估,确保在多个标准任务上表现良好。
较大模型在低成本GPU上(例如RTX 3090、RTX A6000)上表现最佳,这要归功于高效的量化。
支持推测性抽样以实现更快的推断。
支持基于语法的抽样,以根据BNF语法或JSON模式限制模型输出。
使用LibNC库进行简单的张量操作,使用C语言。
提供了简单的命令行工具(ts_test、ts_sd、ts_chat、ts_zip),用于测试各种模型。
免费版本以二进制代码形式发布,仅供非商业用途。与商业版本相比,它具有一些限制。请联系fabrice@bellard.org获取确切的条款。

Download
Linux version ts_server_free-2024-01-20.tar.gz (Changelog).
Windows version ts_server_free-2024-01-20-win64.zip (Changelog).

列举了各种大模型数据,语言模型、chat模型、text-to-image模型 …

NNCP 神经网络无损数据压缩器

https://bellard.org/nncp/

NNCP是一个实验,旨在使用神经网络构建一个实用的无损数据压缩器。最新版本使用了Transformer模型。
论文nncp_v2.1.pdf和nncp.pdf描述了NNCP先前版本的算法和结果。
https://bellard.org/nncp/nncp_v2.1.pdf
https://bellard.org/nncp/nncp.pdf

NNCP的当前版本是用C实现的,并使用LibNC以获得比PyTorch更好的性能。
https://bellard.org/libnc

QuickJS Javascript Engine

https://bellard.org/quickjs/

QuickJS是一个小型且可嵌入的JavaScript引擎。它支持ES2023规范,包括模块、异步生成器、代理和BigInt。
它还可选择支持数学扩展,如大十进制浮点数(BigDecimal)、大二进制浮点数(BigFloat)和运算符重载。

主要特点:
小巧且易于嵌入:只需几个C文件,没有外部依赖,对于一个简单的hello world程序,x86代码为210 KiB。
解释器快速启动,启动时间非常短:在台式PC的单个核心上,可以在不到2分钟内运行ECMAScript测试套件的76000个测试。运行时实例的完整生命周期在不到300微秒内完成。
几乎完整支持ES2023,包括模块、异步生成器和完整的附录B支持(遗留Web兼容性)。
在选择ES2023功能时,通过几乎100%的ECMAScript测试套件测试。Test262报告提供了摘要。
可以将JavaScript源代码编译成没有外部依赖的可执行文件。
使用引用计数进行垃圾回收(以减少内存使用并具有确定性行为),并具有循环移除功能。
数学扩展:BigDecimal、BigFloat、运算符重载、bigint模式、math模式。
带有JavaScript实现的命令行解释器的小型内置标准库,包含C库包装。

在线demo:http://numcalc.com/

文档:https://bellard.org/quickjs/quickjs.html
https://bellard.org/quickjs/quickjs.pdf

textsynth.com

https://textsynth.com/
使用 GPT-J 6B 和 GPT-NeoX 20B 语言模型的在线文本完成。
TextSynth通过REST API和一个测试平台提供对大型语言或文本到图像模型的访问,如Mistral、Mixtral、Llama2、Stable Diffusion、Whisper等。这些模型可用于文本补全、问答、分类、聊天、翻译、图像生成、语音转文本等应用。

TextSynth采用定制的推理代码,以在标准GPU和CPU上实现更快的推理速度(因此降低成本)。该网站成立于2020年,是最早提供访问GPT-2语言模型的服务之一。

基本服务是免费的,但受到速率限制。希望无限制使用的用户可以支付每个请求的小额费用(请参阅我们的定价)。如果您希望获得定制支持,请与我们联系:contact at textsynth dot com。

Tiny and Obfuscated Image Decoder 微型且模糊的图像解码器

https://bellard.org/ioccc_lena/
该项目的目标是编写一个非常小的C程序,生成一个非平凡的RGB图像。它赢得了2018年混淆C代码大赛的“最通货膨胀”奖项。以下是相应的文件。
这个微小的C程序使用便携式像素图文件格式(PPM)将一个128x128的RGB图像文件输出到标准输出。输出如下所示:

它包含了著名的“Lena”图像,该图像在许多图像压缩测试中被使用。
未压缩的图像比程序的源代码大12倍,其中包括图像数据和完整的解码器。实际的图像数据长度为1220字节,压缩比为40。使用类似JPEG的算法不足以达到这种压缩水平(Lena图像几乎无法辨认)。因此,该算法基于图像压缩的最新进展,包括以下特性:

可变块大小的DCT变换(4x4、8x8、16x16和32x32)
DC和方向预测
算术编码
YCgCo颜色空间。
图像数据被编码为一个C字符串,其中包含一些技巧,以最好地利用IOCCC大小约束。标识符被缩短为单个字母以节省空间。由于算法本身已经具有相当的复杂性,因此不需要特定的混淆。
对程序内部工作原理感兴趣的人可以阅读Andrew Kensler的《微型和模糊图像解码器之旅》。

DCT变换基于整数系数以避免舍入误差。然而,在IOCCC条目中,我没有足够的空间来预先计算它们,因此每次都用浮点表达式计算,这解释了解码速度的大部分慢。在László Papp和Alex Rhatushnyak的评论中,我更新了程序以预先计算逆DCT系数:prog.c。结果是更快的解码,同时仍然符合IOCCC的大小约束。与原始的IOCCC条目一样,它可以在Linux下使用以下命令进行编译和运行:

gcc -O2 prog.c -o prog -lm
./prog > lena.ppm
这里是相应的去混淆版本:ld.c, img.h。

libbf

https://bellard.org/libbf/
http://numcalc.com/

LibBF是一个小型库,用于处理任意精度浮点数。它的编译大小约为90 KB的x86代码,不依赖其他库。它并不是最快的库,也不是最小的,但它试图在使用渐近最优算法的同时保持简单。基本算术运算具有近似线性的运行时间。

TinyPI示例使用Chudnovsky公式计算圆周率的数十亿位。

特点:
在IEEE 754语义中使用基于2的任意精度浮点数(包括次正常数、无穷大和NaN)。
所有操作都使用5个IEEE 754舍入模式进行精确舍入(最接近偶数或远离零的最近舍入,舍入到零,-/+无穷大)。当需要更低或确定性的运行时间时,支持额外的非确定性忠实舍入模式。
无状态API(每个函数以舍入模式、尾数和指数精度(以位为单位)作为输入,并返回IEEE状态标志)。
基本算术运算(加法、减法、乘法、除法、平方根)具有近似线性的运行时间。
使用SIMD优化的数论变换进行乘法。
在任何介于2和36之间的基数中进行的浮点输入和输出都是精确的,具有近似线性的运行时间。浮点输出可以选择获取所需精度的最小位数。
支持超越函数(exp、log、pow、sin、cos、tan、asin、acos、atan、atan2)。
通过使用特殊的“无限”精度,支持对任意大整数的操作。实现了带余数的整数除法和逻辑操作(假设使用二补数二进制表示)。
在基于IEEE 754 2008语义的10进制中具有任意精度的浮点数,但尾数始终被规范化。基本算术运算、输出和输入都支持二次运行时间。
易于嵌入:只需复制几个C文件,内存分配器可以重新定义,测试内存分配失败。
MIT许可证。

TinyEMU

https://bellard.org/tinyemu/
https://bellard.org/tinyemu/readme.txt
TinyEMU是RISC-V和x86体系结构的系统模拟器。其目的是在保持完整性的同时保持小巧简单。
主要特点:

支持RV128IMAFDQC基本ISA(用户级ISA版本2.2,特权体系结构版本1.10)的RISC-V系统模拟器,包括:
32/64/128位整数寄存器
32/64/128位浮点指令(使用SoftFP库)
压缩指令
动态XLEN更改
基于KVM的x86系统模拟器
支持VirtIO控制台、网络、块设备、输入和9P文件系统
使用SDL的图形显示
JSON配置文件
远程HTTP块设备和文件系统
代码量小,易于修改,外部依赖性少
能够运行Linux和Windows 2000的Javascript版本。

SoftFP Library

https://bellard.org/softfp/
SoftFP库是一个新的IEEE 754-2008浮点仿真库,支持32/64/128位浮点数类型。
特性:

  1. 支持 IEEE 754-2008 标准的 32/64/128 位浮点数类型。
  2. 支持四则运算以及平方根、融合乘-加、最小值、最大值等操作,同时支持与 32/64/128 位有符号或无符号整数之间的转换。
  3. 默认支持 RISC-V 浮点运算单元的特性。
  4. 支持 128 位浮点数类型和依赖于 C 编译器 __int128 类型的 128 位整数。

BPG

https://bellard.org/bpg/
BPG (Better Portable Graphics) is a new image format based on HEVC and supported by most browsers with a small Javascript decoder.
BPG(Better Portable Graphics)是一种基于HEVC的新图像格式,由大多数浏览器支持,并配有一个小型的JavaScript解码器。
其目的是在质量或文件大小成为问题时取代JPEG图像格式。其主要优点包括:

  • 高压缩比。相似质量的文件比JPEG小得多。
  • 大多数Web浏览器都支持,配有一个小型的JavaScript解码器(压缩后大小:56 KB)。
  • 基于HEVC开放视频压缩标准的一个子集。
  • 支持与JPEG相同的色度格式(灰度、YCbCr 4:2:0、4:2:2、4:4:4),以减少转换过程中的损失。支持alpha通道。RGB、YCgCo和CMYK色彩空间也受支持。
  • 每通道支持8到14位的原生支持,实现更高的动态范围。
  • 支持无损压缩。
  • 可包含各种元数据(如EXIF、ICC配置文件、XMP)。
  • 支持动画。

LTE

https://bellard.org/lte/
A 4G LTE/5G NR/NB-IoT base station running entirely in software on a standard PC.
在标准个人计算机上完全运行的软件定义的4G LTE/5G NR/NB-IoT基站。
LTEENB允许使用标准个人计算机和低成本软件无线电前端构建真正的4G LTE/5G NR基站(称为eNodeB(4G)或gNodeB(5G))。所有的物理层和协议层处理都在个人计算机内实时完成,因此不需要专用硬件。同时支持NB-IoT和Cat-M1设备。该软件现在由Amarisoft开发和分发。

LTEENB提供了一个完整的Evolved Packet Core(EPC),因此它可以在没有现有LTE网络的情况下工作。简而言之,可以像使用WiFi接入点一样使用它。EPC包含以下程序:

  1. LTEMME是一个包括HSS、SGW和PGW的MME。
  2. LTEIMS是一个IMS服务器,提供语音(VoLTE)和短信支持。
  3. LTEMBMSGW是一个MBMS网关。

PI、prime

https://bellard.org/pi/pi2700e9/
2700 billion decimal digits of Pi computed with a desktop computer.
使用一台台式电脑计算了约2700亿位的圆周率小数。

https://bellard.org/pi/
Pi formulas, algorithms and computations.
圆周率的公式、算法和计算。

https://bellard.org/mersenne.html
A tiny C program to print the biggest known prime number.
一个小型的C程序,用于打印已知的最大质数。
This program computes 2^74207281-1, which was the biggest known prime number in 2016 (about 23 million digits !). For more information about how it was found and who found it, look at the GIMPS Project .

DVB-T

https://bellard.org/dvbt/
Analog and Digital TV (DVB-T) signal generation by displaying an image on a PC display.
通过在个人电脑显示器上显示图像来生成模拟和数字电视(DVB-T)信号。
使用运行Linux的个人电脑和一张新型的VGA卡,你可以在VHF频段向你的DVB-T机顶盒发射真实的数字电视信号。
DVB-T发射器通常是非常昂贵的专业设备。现在,通过一台标准个人电脑,你可以广播真实的DVB-T频道!
还提供了将PAL或SECAM模拟信号直接传输到您的电视的示例。

QEMU

https://www.qemu.org/
QEMU is a generic machine emulator and virtualizer.
QEMU是一个通用的机器仿真器和虚拟化器。

FFMPEG

https://ffmpeg.org/
FFMPEG, the Open Source Multimedia System. I launched this project in year 2000 and led it for several years.
FFmpeg,开源多媒体系统。2000年发起。
一个完整的、跨平台的解决方案,用于录制、转换和流式传输音频和视频。

TCC OTCC fbcc

https://bellard.org/tcc/
https://bellard.org/otcc/
TCC is a tiny but complete ISOC99 C compiler which enables you to use C as scripting language. TCC has its roots in the OTCC project. The TCCBOOT boot loader demonstrate the speed of TCC by compiling and launching a Linux kernel in less than 15 seconds.
TCC是一个微型但完整的ISOC99 C编译器,它使您可以将C用作脚本语言。TCC源自OTCC项目。TCCBOOT引导加载程序通过在不到15秒的时间内编译并启动Linux内核,展示了TCC的速度。

OTCC is a very small self-compiling compiler for a subset of C I wrote to win the 2001 edition of the International Obfuscated C Contest.
OTCC是为了赢得2001年国际混淆C语言竞赛而编写的一个非常小的自编译编译器,用于C语言的一个子集。

https://bellard.org/fbcc/
A simple but almost complete C Compiler . It can compile itself.

Harissa

http://www.usenix.org/publications/library/proceedings/coots97/full_papers/muller/muller_html/usenix.html
Harissa is a Java Virtual Machine and a powerful Java native code compiler (by translating Java to C code). I wrote the first version of Harissa during my internship at the IRISA .
Harissa是一个Java虚拟机和强大的Java本地代码编译器(通过将Java转换为C代码)。

QEmacs

https://bellard.org/qemacs/
QEmacs (for Quick Emacs) is an emacs clone I began to learn Unicode rendering algorithms, text buffers manipulation and XML/HTML/CSS parsing.
QEmacs(Quick Emacs的简称)是我开始学习Unicode渲染算法、文本缓冲区操作以及XML/HTML/CSS解析的一个Emacs克隆。

TinyGL

https://bellard.org/TinyGL/
TinyGL: a Small, Free and Fast Subset of OpenGL.
TinyGL:OpenGL的一个小型、免费且快速的子集。

numcalc html

http://numcalc.com/
An online Scientific Web Calculator.
一个在线科学网络计算器。

Lossless Data Compression无损数据压缩

https://bellard.org/stat/ 对PPM压缩方法的高效实现
https://bellard.org/lzexe.html DOS可执行文件压缩器,具有内置的透明解压功能

Numerical Algorithms 数值算法

https://bellard.org/pi/transparent.ps
Pollard的FFT快速乘法方法的实用实现。用它计算了1000万位的圆周率。该乘法方法的调查(法语):transparent.ps 该程序的完整源代码(用于UNIX的ANSI C):pi_salamin.tar.gz(https://bellard.org/pi/pi_salamin.tar.gz)

Web上的实时Mandelbrot分形缩放及其源代码。https://bellard.org/mandelbrot/web-mandelbrot.tgz

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值