chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python失寵!Hugging Face用Rust新寫了一個ML框架

jf_WZTOguxH ? 來源:AI前線 ? 2023-08-11 16:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

近期,Hugging Face 低調開源了一個重磅 ML 框架:Candle。Candle 一改機器學習慣用 Python 的做法,而是 Rust 編寫,重點關注性能(包括 GPU 支持)和易用性。

根據(jù) Hugging Face 的介紹,Candle 的核心目標是讓 Serverless 推理成為可能。像 PyTorch 這樣的完整機器學習框架非常大,這使得在集群上創(chuàng)建實例的速度很慢。Candle 允許部署輕量級二進制文件。另外,Candle 可以讓用戶從生產工作負載中刪除 Python。Python 開銷會嚴重影響性能,而 GIL 是眾所周知的令人頭疼的問題。

Rust 真的可以嗎?

Pytorch 框架是用 Python 編寫的,API 也是基于 Python 的,這讓用戶上手開發(fā)會非??臁A硗?,Python 本身就是一種簡潔而易于學習的編程語言,很適合初學者和專業(yè)開發(fā)者使用。

但基于 Python 的 Pytorch 框架問題也很明顯。相對于一些靜態(tài)圖框架(如 TensorFlow),Python 在某些情況下可能會導致性能問題。Python 的全局解釋器鎖(GIL)可能會在多線程的情況下影響性能,尤其是在涉及 CPU 密集型任務時。Python 的解釋性質還可能會引入一些運行時開銷。另外,將基于 Python 的 PyTorch 模型部署到生產環(huán)境中可能需要一些額外的步驟,不如其他編譯型語言那么方便。

顯然,Hugging Face 一直在尋找解決辦法,它給出的答案是用時下最快的語言 Rust 重寫一個 ML 框架。“最酷的是,這是來自 Hugging Face 的,不僅僅是某人的愛好項目?!庇芯W友贊嘆道。實際上,許多 HF 生態(tài)系統(tǒng)已經使用 Rust,例如 safetensors、tokenizer。

不過,Rust 的難度也讓一些開發(fā)者望而卻步,“編寫 Rust 是一件艱難的事情,你必須跳來跳去,花更多的時間思考編程語言的抽象,而不是思考要解決的問題。所以,我現(xiàn)在還不著急重寫任何 Python 的東西。”

開發(fā)者“fooblaster”指出,Pytorch 部署模型有多個生產路徑無需 Python 解釋器,如 torchscript 和 libtorch,或是更煩人的路徑如 onnx export 和 onnx runtime,所以不需要 Rust 來解決這個問題。另外很人知道,現(xiàn)在可以使用 C++ 編寫 Torch 訓練代碼,并與推理和訓練共享一種通用語言。

對此,開發(fā)者“malcolmgreaves”表示,這些是使模型推理獨立于 Python 的偉大技術。然而,總是有大量的預處理、后處理或其他業(yè)務邏輯需要圍繞模型推理。這種事情需要在通用編程語言中完成,因此 Python 經常被使用(因為支持模型的代碼通常是由同一個人編寫的,并且這些代碼很可能是 Python,因為您的模型訓練和 eval 代碼很可能也是 Python)。這就是非 Python PL(如 Rust)可以在簡化生產部署 / 維護以及具有真正高效的生產推理方面發(fā)揮巨大作用的地方。

當然,也有開發(fā)者為 Python 打抱不平。

“任何編程語言在生產環(huán)境中都可能是一種痛苦。Python 的缺點之一也是它的優(yōu)點之一。使用 Python 或 JavaScript 等‘混亂’語言很容易陷入糟糕的生產環(huán)境,因此避免這些痛點的工具已經非常成熟。有了這些,Python 在生產中就會變得很棒。”開發(fā)者“devjab”進一步表示,“是的,這將要求您的組織做出一些嚴肅的 CI 文化決策并強制執(zhí)行。但問題是,雖然使用某些編程語言可以不必如此,但當企業(yè)達到一定規(guī)模時,總是會需要它們。因此,更早建立這個流程就會容易得多,而且如果您認真使用 Python,早就會這樣做了。我認為,如果在生產環(huán)境中工作很痛苦,那么問題不在于技術,而在于流程?!?/p>

實際上,業(yè)內一直在努力解決 Python 帶來的問題。

5 月份,LLVM 和 Swift 編程語言聯(lián)合創(chuàng)始人 Chris Lattner 創(chuàng)辦的新公司 Modular AI 發(fā)布了一個名為 Mojo 的新編程語言。Mojo 將 Python 特性與 C、C++ 和 CUDA 的系統(tǒng)編程功能結合了起來,并通過其所謂“極限加速”與其他 Python 速度增強方案區(qū)分了開來。據(jù)悉,憑借著硬件加速,Mojo 在運行 Mandelbrot 等數(shù)字算法時比原始 Python 快上 3.5 萬倍。

另一方面,Python 自身也在做改進。最近,Python 終于宣布要刪 GIL,Python 默認版本將逐漸過渡到無 GIL 版本。這一決定能否鞏固其在機器學習領域的地位,也需要時間驗證。

與 PyTorch 對比

據(jù)悉,當前 Candle 已經支持如今的前沿模型,像 Llama2。經過改寫的模型,比如 Llama2 能夠方便、快速的運行在容器環(huán)境,甚至可以運行在瀏覽器中。Candle 結構包括:

Candle-core:核心操作、設備和 Tensor 結構定義。

Candle-nn:構建真實模型的工具。

Candle-examples:在實際設置中使用庫的示例。

Candle-kernels:CUDA 自定義內核;

Candle-datasets:數(shù)據(jù)集和數(shù)據(jù)加載器。

Candle-Transformers:與 Transformers 相關的實用程序。

Candle-flash-attn:Flash attention v2 層。

cd4f865e-3808-11ee-9e74-dac502259ad0.png

Pytorch 和 Candle 對比

該項目正在處于快速迭代過程中,更新非常頻繁,很多功能在不斷開發(fā)中,目前包含如下功能和特點:

語法簡單, 風格與 PyTorch 相似。

CPU 和 Cuda Backend:m1、f16、bf16。

支持 Serverless(CPU)、小型和快速部署

支持 WASM,可在瀏覽器中運行模型。

模型訓練

使用 NCCL 進行分布式計算。

開箱即用的模型:Llama、Whisper、Falcon、StarCoder...

嵌入用戶定義的操作 / 內核,如 flash-attention v2。

對于 Hugging Face 的這一新 ML 框架,大家有什么感想或使用感受?歡迎在評論區(qū)分享!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 框架
    +關注

    關注

    0

    文章

    404

    瀏覽量

    18309
  • pytorch
    +關注

    關注

    2

    文章

    812

    瀏覽量

    14663
  • Rust
    +關注

    關注

    1

    文章

    240

    瀏覽量

    7464

原文標題:Python 失寵!Hugging Face 用 Rust 新寫了一個 ML框架,現(xiàn)已低調開源

文章出處:【微信號:AI前線,微信公眾號:AI前線】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    2025開放原子開發(fā)者大會旋武開源社區(qū)Rust分論壇成功舉辦

    11月22日,2025開放原子開發(fā)者大會——旋武開源社區(qū)Rust分論壇在北京順利召開。論壇以“共建中國Rust生態(tài)”為核心主題,匯聚京東、華為、vivo、阿里、毛豆教育、DORA社區(qū)及南京大學等企業(yè)與學術機構技術專家,及眾多Rust
    的頭像 發(fā)表于 11-27 14:55 ?265次閱讀

    CIE全國RISC-V創(chuàng)新應用大賽 人臉識別系統(tǒng)介紹與移植

    人臉識別系統(tǒng)移植到MUSE Pi Pro RISC-V介紹 系統(tǒng)是原本為某學校開發(fā)的人臉智能識別簽到系統(tǒng)。最初基于x86 Windows系統(tǒng)進行開發(fā)使用的,具體包括N6000服務器和22臺
    發(fā)表于 11-08 11:19

    NVIDIA推出面向語言、機器人和生物學的全新開源AI技術

    NVIDIA 秉持對開源的長期承諾,推出了面向語言、機器人和生物學的全新開源 AI 技術,為構建開源生態(tài)系統(tǒng)做出貢獻,擴展 AI 的普及并推動創(chuàng)新。NVIDIA 正將這些模型、數(shù)據(jù)和訓練框架貢獻給 Hugging Face,讓
    的頭像 發(fā)表于 11-06 11:49 ?642次閱讀

    PYQT 應用程序框架及開發(fā)工具

    大家好,本團隊此次分享的內容為開發(fā)過程中使用到的PYQT 應用程序框架及開發(fā)工具。 pYqt 是多平臺的 python 圖形用戶界面應用程序
    發(fā)表于 10-29 07:15

    Python 給 Amazon 做“全身 CT”——可量產、可擴展的商品詳情爬蟲實戰(zhàn)

    、技術選型:為什么選 Python 而不是 Java? 結論: “調研階段 Python,上線后如果 QPS 爆表再考慮 Java 重構?!?二、整體架構速覽(3 分鐘看懂) 三、
    的頭像 發(fā)表于 10-21 16:59 ?371次閱讀
    <b class='flag-5'>用</b> <b class='flag-5'>Python</b> 給 Amazon 做“全身 CT”——可量產、可擴展的商品詳情爬蟲實戰(zhàn)

    NVIDIA開源Audio2Face模型及SDK

    NVIDIA 現(xiàn)已開源 Audio2Face 模型與 SDK,讓所有游戲和 3D 應用開發(fā)者都可以構建并部署帶有先進動畫的高精度角色。NVIDIA 開源 Audio2Face 的訓練框架,任何人都可以針對特定
    的頭像 發(fā)表于 10-21 11:11 ?510次閱讀
    NVIDIA開源Audio2<b class='flag-5'>Face</b>模型及SDK

    利用超微型 Neuton ML 模型解鎖 SoC 邊緣人工智能

    才能做好。 現(xiàn)在,這些阻礙即將被解決。 Neuton 是自動生成 ML 模型的框架,其大小僅為 TensorFlow Lite 等傳統(tǒng)框架
    發(fā)表于 08-31 20:54

    RT-Thread 遇上 Rust:安全內核 RusT-Thread 的誕生

    大家好,我們是中國科學技術大學操作系統(tǒng)原理與設計(H)課oooooS小組。這個項目是我們的課程大作業(yè):參考RT-Thread架構,使用Rust搭建原生的嵌入式操作系統(tǒng)內核。初識Rust
    的頭像 發(fā)表于 08-02 11:03 ?3169次閱讀
    RT-Thread 遇上 <b class='flag-5'>Rust</b>:安全內核 <b class='flag-5'>RusT</b>-Thread 的誕生

    請問OpenVINO? 是否支持 Rust 綁定?

    無法確定OpenVINO?是否支持 Rust 綁定。
    發(fā)表于 06-25 07:45

    商湯科技日日新V6大模型斬獲“雙料第項國內榜首,全球第

    體Agent測試任務中獲得國內最高分。 同時,根據(jù)Hugging Face——全球最大的AI開源社區(qū)上的數(shù)據(jù),在Open Compass本月的多
    的頭像 發(fā)表于 05-30 11:13 ?1384次閱讀
    商湯科技日日新V6大模型斬獲“雙料第<b class='flag-5'>一</b>” <b class='flag-5'>一</b>項國內榜首,<b class='flag-5'>一</b><b class='flag-5'>個</b>全球第<b class='flag-5'>一</b>

    利用英特爾OpenVINO在本地運行Qwen2.5-VL系列模型

    近期阿里通義實驗室在 Hugging Face 和 ModelScope 上開源了 Qwen2.5-VL 的 Base 和 Instruct 模型,包含 3B、7B 和 72B 在內的 3 模型尺寸。
    的頭像 發(fā)表于 03-12 13:42 ?2266次閱讀
    利用英特爾OpenVINO在本地運行Qwen2.5-VL系列模型

    JavaScript與Rust和WebAssembly集成

    偶然次機會,接觸了Rust的代碼。當時想給團隊小伙伴做演示,發(fā)現(xiàn)自己并不能在移動端按照文檔生成演示demo。我就想,要是Rust代碼能轉化成JavaScript就好了。結果搜,還真
    的頭像 發(fā)表于 01-24 15:43 ?791次閱讀
    JavaScript與<b class='flag-5'>Rust</b>和WebAssembly集成

    Hugging Face推出最小AI視覺語言模型

    Hugging Face平臺于1月23日發(fā)布博文,推出了兩款令人矚目的輕量級AI模型——SmolVLM-256M-Instruct和SmolVLM-500M-Instruct。 其中
    的頭像 發(fā)表于 01-24 14:15 ?1422次閱讀

    大模型訓練框架(五)之Accelerate

    Hugging Face 的 Accelerate1是用于簡化和加速深度學習模型訓練的庫,它支持在多種硬件配置上進行分布式訓練,包括 CPU、GPU、TPU 等。Accelerat
    的頭像 發(fā)表于 01-14 14:24 ?1759次閱讀

    fpga寫了tlv5610的控制程序,引起tlv5610輸出不正常的原因?

    fpga寫了tlv5610的控制程序,tlv5610的模擬和數(shù)字供電是分開供的,模擬電壓5V,數(shù)字電壓3.3V。但是現(xiàn)在發(fā)現(xiàn)5610能否正常運行與上電順序有關。 我手頭上有兩塊
    發(fā)表于 12-13 12:26