女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

jf_WZTOguxH ? 來源:AI前線 ? 2023-08-11 16:24 ? 次閱讀

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

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

Rust 真的可以嗎?

Pytorch 框架是用 Python 編寫的,API 也是基于 Python 的,這讓用戶上手開發會非常快。另外,Python 本身就是一種簡潔而易于學習的編程語言,很適合初學者和專業開發者使用。

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

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

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

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

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

當然,也有開發者為 Python 打抱不平。

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

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

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

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

與 PyTorch 對比

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

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

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

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

Candle-kernels:CUDA 自定義內核;

Candle-datasets:數據集和數據加載器。

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

Candle-flash-attn:Flash attention v2 層。

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

Pytorch 和 Candle 對比

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

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

CPU 和 Cuda Backend:m1、f16、bf16。

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

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

模型訓練

使用 NCCL 進行分布式計算。

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

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

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

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

    關注

    0

    文章

    404

    瀏覽量

    17784
  • pytorch
    +關注

    關注

    2

    文章

    809

    瀏覽量

    13756
  • Rust
    +關注

    關注

    1

    文章

    233

    瀏覽量

    6952

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    JavaScript與Rust和WebAssembly集成

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

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

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

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

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

    C寫了CIFF結構的ΣΔ調制器遇到的疑問求解答

    C寫了CIFF結構的ΣΔ調制器,8階調制,代碼步驟如下: 1.產生輸入信號 我的是1KHz的正弦波,double精度產生,采樣率
    發表于 10-28 08:30

    如何使用 Llama 3 進行文本生成

    服務。以下是主要的幾種方法: 方法:使用現成的API服務 許多平臺提供了LLaMA 3的API接口,例如Hugging Face的Transformers庫和Inference API
    的頭像 發表于 10-27 14:21 ?947次閱讀

    使用OpenVINO GenAI API在C++中構建AI應用程序

    許多桌面應用程序是使用 C++ 開發的,而將生成式AI(GenAI)功能集成到這些應用程序中可能會很具有挑戰性,尤其是因為使用像 Hugging Face 這樣的 Python 庫的復雜性。C++
    的頭像 發表于 10-12 09:36 ?976次閱讀
    使用OpenVINO GenAI API在C++中構建AI應用程序

    如何用Rust編寫ChatGPT桌面應用(保姆級教程)

    為什么我們需要桌面應用 原因實在太多,我們需要便捷地 導出 記錄,需要在回答長度超長的時候自動加上“繼續”,需要 收藏 些很酷很實用的prompt...... (首先我假設你是
    的頭像 發表于 09-25 11:19 ?582次閱讀
    如何用<b class='flag-5'>Rust</b>編寫<b class='flag-5'>一</b><b class='flag-5'>個</b>ChatGPT桌面應用(保姆級教程)

    pytorch和python的關系是什么

    ,PyTorch已經成為了非常受歡迎的框架。本文將介紹PyTorch和Python之間的關系,以及它們在深度學習領域的應用。 Python
    的頭像 發表于 08-01 15:27 ?3064次閱讀

    python寫驗證環境cocotb

    本文介紹了cocotb的安裝、python tb文件的寫法、xrun仿真cocotb的腳本等,我們來看看體驗如何。
    的頭像 發表于 07-24 09:38 ?924次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>python</b>寫驗證環境cocotb

    Hugging Face科技公司推出SmolLM系列語言模型

    7月22日最新資訊,Hugging Face科技公司在語言模型領域再創新高,正式推出了SmolLM系列——款專為適應多樣計算資源而設計的緊湊型語言模型家族。該系列包含三版本,分別搭
    的頭像 發表于 07-23 16:35 ?599次閱讀

    opencv-python和opencv樣嗎

    樣。OpenCV(Open Source Computer Vision Library)是開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Pytho
    的頭像 發表于 07-16 10:38 ?1915次閱讀

    Python中的人工智能框架與實例

    在人工智能(AI)領域,Python因其簡潔的語法、豐富的庫和強大的社區支持,成為了最受歡迎的編程語言之。本文將詳細介紹Python中的人工智能框架,并通過具體實例展示如何使用這些
    的頭像 發表于 07-15 14:54 ?2426次閱讀

    pycharm進行python爬蟲的步驟

    以下是使用PyCharm進行Python爬蟲的步驟: 安裝PyCharm和Python 首先,您需要安裝PyCharm和Python。PyCharm是
    的頭像 發表于 07-11 10:11 ?1323次閱讀

    bootstrap框架什么軟件開發

    Bootstrap是流行的前端框架,用于快速開發響應式和移動優先的Web應用程序。它提供了套預定義的CSS和JavaScript組件,使得開發者可以快速構建出漂亮的用戶界面
    的頭像 發表于 07-11 09:50 ?749次閱讀