ITPub博客

首页 > 数据库 > 数据库开发技术 > 【Rust日报】2023-05-10 llm - 使用Rust在CPU上运行大模型

【Rust日报】2023-05-10 llm - 使用Rust在CPU上运行大模型

原创 数据库开发技术 作者:Rust语言中文社区 时间:2023-05-11 23:55:05 0 删除 编辑

llm - 使用Rust在CPU上运行大模型

这是一套工具。目前支持这些模型:

  • GPT-2

  • GPT-J

  • LLaMA: LLaMA, Alpaca, Vicuna, Koala, GPT4All v1, GPT4-X, Wizard

  • GPT-NeoX: GPT-NeoX, StableLM, Dolly v2 (partial, not the same tensor names?)

  • BLOOM: BLOOMZ

https://github.com/rustformers/llm

从Rust 1.71开始,musl编译目标依赖的musl版本升级了。

Beginning with Rust 1.71 (slated for stable release on 2023-07-13),

从 musl 1.1.24 升级到了musl 1.2.3.

https://blog.rust-lang.org/2023/05/09/Updating-musl-targets.html

Salvo 0.41.0 发布,初步支持 openapi

use salvo::oapi::extract::*;
use salvo::oapi::swagger_ui::SwaggerUi;
use salvo::oapi::{ToSchema, Info, OpenApi};
use salvo::prelude::*;
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, ToSchema, Debug)]
struct MyObject<T: ToSchema + std::fmt::Debug> {
value: T,
}

#[endpoint]
async fn use_string(body: JsonBody<MyObject<String>>, res: &mut Response) {
res.render(format!("{:?}", body))
}
#[endpoint]
async fn use_i32(body: JsonBody<MyObject<i32>>, res: &mut Response) {
res.render(format!("{:?}", body))
}
#[endpoint]
async fn use_u64(body: JsonBody<MyObject<u64>>, res: &mut Response) {
res.render(format!("{:?}", body))
}

#[tokio::main]
async fn main() {
tracing_subscriber::fmt().init();

let router = Router::new()
.push(Router::with_path("i32").post(use_i32))
.push(Router::with_path("u64").post(use_u64))
.push(Router::with_path("string").post(use_string));

let doc = OpenApi::new(Info::new("test api", "0.0.1")).merge_router(&router);

let router = router
.push(doc.into_router("/api-doc/openapi.json"))
.push(SwaggerUi::new("/api-doc/openapi.json").into_router("swagger-ui"));

let acceptor = TcpListener::new("127.0.0.1:5800").bind().await;
Server::new(acceptor).serve(router).await;
}

https://github.com/salvo-rs/salvo/blob/main/examples/oapi-generics/src/main.rs

Coherence in Rust

这是一篇讲解Rust中的类型 Coherence 的文章,非常细致,推荐阅读:

https://ohadravid.github.io/posts/2023-05-coherence-and-errors/

我们如何用Rust构建自己的时间跟踪算法

其实并不复杂,但是作者对工作善于记录,善于表达的方式,值得一学。

https://michellelim.dev/writing/measure-time-spent-in-app/


From 日报小组 Mike

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区


原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-06-11

  • 博文量
    1769
  • 访问量
    718716