激情六月丁香婷婷|亚洲色图AV二区|丝袜AV日韩AV|久草视频在线分类|伊人九九精品视频|国产精品一级电影|久草视频在线99|在线看的av网址|伊人99精品无码|午夜无码视频在线

高校合作1:010-59833514 ?咨詢電話:400-810-1418 服務(wù)與監(jiān)督電話:400-810-1418轉(zhuǎn)接2

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用

發(fā)布時(shí)間:2023-11-29 15:08:24 瀏覽量:105次

改變游戲規(guī)則

夢(mèng)晨 發(fā)自 凹非寺
|  

Keras 3.0正式發(fā)布,被譽(yù)為改變了機(jī)器學(xué)習(xí)游戲規(guī)則:

不僅支持TensorFlow、PyTorch、Jax三大框架作為后端,還能在它們之間無(wú)縫切換,甚至混合使用。

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用,作者:歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

Keras之父Fran?ois Chollet認(rèn)為,這樣至少可以獲得4大好處:

  • 始終讓模型獲得最佳性能:

JAX通常在GPU、CPU各種PU上都最快,但不使用XLA(加速線性代數(shù))的Tensorflow在GPU上偶爾更快。

Keras 3.0能夠動(dòng)態(tài)為模型提供最佳性能的后端,而無(wú)需更改代碼,保證以最高效率運(yùn)行。

  • 解鎖多個(gè)生態(tài)系統(tǒng)

任何Keras 3模型都可以作為PyTorch模塊實(shí)例化,可以導(dǎo)出為T(mén)F的SavedModel,或者可以實(shí)例化為無(wú)狀態(tài)的 JAX 函數(shù)。

這意味著可以將Keras 3模型與PyTorch生態(tài)的包,TensorFlow中的部署工具或生產(chǎn)工具,以及JAX大規(guī)模TPU訓(xùn)練基礎(chǔ)設(shè)施一起使用,獲得機(jī)器學(xué)習(xí)世界所提供的一切。

  • 在開(kāi)源社區(qū)擴(kuò)大影響力

如果使用純TensorFlow或PyTorch實(shí)現(xiàn)一個(gè)開(kāi)源模型,都只有大約一半的人能使用。

但如果使用Keras 3,任何人無(wú)論偏好哪個(gè)框架,(即使不是 Keras 用戶)都能立刻使用。在不增加開(kāi)發(fā)成本的情況下,使影響力翻倍。

  • 使用任何來(lái)源的數(shù)據(jù)管道

無(wú)論使用哪個(gè)后端,Keras 3 都能與tf.data.Dataset對(duì)象、PyTorch DataLoader對(duì)象、NumPy 數(shù)組、Pandas數(shù)據(jù)框兼容。

這意味著可以在PyTorch DataLoader上訓(xùn)練Keras 3 + TensorFlow模型,或在 tf.data.Dataset上訓(xùn)練Keras 3 + PyTorch模型。

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用,作者:歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

不少人都對(duì)這一進(jìn)展表示祝賀,項(xiàng)目參與者、谷歌高級(jí)工程師Aakash Kumar Nain認(rèn)為:

Keras 3再次展示了心智模型的重要性。開(kāi)發(fā)API 是一方面,而開(kāi)發(fā)一個(gè)擁有出色心智模型的API則完全是另一個(gè)層次的工程實(shí)踐。

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用,作者:歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

也有開(kāi)發(fā)者表示:

很高興能夠通過(guò)熟悉的Keras API獲得框架可選性,讓簡(jiǎn)單的用例變得容易,復(fù)雜的用例也成為可能。

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用,作者:歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

Keras 3.0發(fā)布公告中開(kāi)篇寫(xiě)到,歡迎來(lái)到多框架機(jī)器學(xué)習(xí)。

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用,作者:歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

具體來(lái)說(shuō),Keras 3.0完全重寫(xiě)了框架API,并使其可用于TensorFlow、JAX和PyTorch。

任何僅使用內(nèi)置層的Keras模型都將立即與所有支持的后端配合使用。

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用,作者:歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

使用Keras 3可以創(chuàng)建在任何框架中都能以相同方式工作的組件,允許訪問(wèn)跨所有后端運(yùn)行的keras.ops命名空間。

只要僅使用keras.ops中的ops,自定義層、損失、指標(biāo)和優(yōu)化器等就可以使用相同的代碼與JAX、PyTorch和TensorFlow配合使用。這意味著只需維護(hù)一個(gè)組件實(shí)現(xiàn),就可以在所有框架中使用完全相同的數(shù)值。

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用,作者:歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

除此之外,還發(fā)布了用于大規(guī)模數(shù)據(jù)并行和模型并行的新分布式API,為多設(shè)備模型分片問(wèn)題提供Keras風(fēng)格的解決方案。

為此設(shè)計(jì)的API使模型定義、訓(xùn)練邏輯和分片配置完全獨(dú)立,這意味可以像在單個(gè)設(shè)備上運(yùn)行一樣編寫(xiě)代碼,然后在訓(xùn)練任意模型時(shí)將任意分片配置添加到任意模型中。

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用,作者:歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

不過(guò)新的分布式API目前僅適用于JAX后端,TensorFlow和PyTorch支持即將推出。

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用,作者:歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

為適配JAX,還發(fā)布了用于層、模型、指標(biāo)和優(yōu)化器的新無(wú)狀態(tài)API,添加了相關(guān)方法。

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用,作者:歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

這些方法沒(méi)有任何副作用,它們將目標(biāo)對(duì)象的狀態(tài)變量的當(dāng)前值作為輸入,并返回更新值作為其輸出的一部分。

用戶不用自己實(shí)現(xiàn)這些方法,只要實(shí)現(xiàn)了有狀態(tài)版本,它們就會(huì)自動(dòng)可用。

如果從Keras 2遷移到3,使用tf.keras開(kāi)發(fā)的代碼通??梢园丛瓨釉贙eras 3中使用Tensorflow后端運(yùn)行。有限數(shù)量的不兼容之處也給出了遷移指南。

在舊版Keras 2中開(kāi)發(fā)的預(yù)訓(xùn)練模型通常也可以在Keras 3中使用TensorFlow后端開(kāi)箱即用。

如果舊版模型僅使用了Keras內(nèi)置層,那么也可以在Keras 3中使用JAX和PyTorch后端開(kāi)箱即用。

也有人敲警鐘

在迫不及待嘗試新版本的開(kāi)發(fā)社區(qū)氛圍中,Cohere機(jī)器學(xué)習(xí)總監(jiān)Nils Reimers提出“真心希望歷史不要重演”,也獲得不少關(guān)注。

Keras 3.0發(fā)布!TF/PyTorch/Jax無(wú)縫混合使用,作者:歡迎來(lái)到多框架機(jī)器學(xué)習(xí)

Reimers認(rèn)為,Keras最初從支持單個(gè)后端(Theano)開(kāi)始,陸續(xù)添加了Tensorflow、MXNet和CNTK等多后端。

這引發(fā)了一系列問(wèn)題:

  • 某些功能只在特定后端可用
  • 各個(gè)后端的計(jì)算結(jié)果存在不一致:在一個(gè)后端上運(yùn)行正常的代碼,在另一個(gè)后端可能產(chǎn)生不同結(jié)果
  • 對(duì)于開(kāi)源軟件開(kāi)發(fā)者來(lái)說(shuō)體驗(yàn)糟糕:你剛完成了一個(gè)自定義的 Keras層想要分享?你是否愿意為其他后端重新實(shí)現(xiàn)和優(yōu)化它呢?
  • 調(diào)試問(wèn)題:代碼在一個(gè)后端上表現(xiàn)完美,但在另一個(gè)后端的最新版本上卻頻繁出錯(cuò)…

隨著時(shí)間推移,這些問(wèn)題愈發(fā)嚴(yán)重:某些模塊只能在 Theano 上運(yùn)行良好,某些只適用于Tensorflow,還有一些模塊可以在MXNet上進(jìn)行推理,但無(wú)法訓(xùn)練…

因此,2019年Keras轉(zhuǎn)向單一后端(Tensorflow),是保障這一偉大項(xiàng)目繼續(xù)存在的關(guān)鍵之舉。

我希望這一次的多后端能有更好的表現(xiàn),但這無(wú)疑仍是一個(gè)挑戰(zhàn)。

您是否需要等到像FlashAttention v2這樣的重要特性在JAX、TensorFlow和PyTorch 上都可用后,才能在 Keras 中使用它?還是說(shuō)您只能在某些特定后端中使用它?

對(duì)于未來(lái),我們還面臨著許多未解決的挑戰(zhàn)。

參考鏈接:
[1]https://keras.io/keras_3/
[2]https://x.com/sampathweb/status/1729556960314339534
[3]https://twitter.com/Nils_Reimers/status/1729612017340657993

熱門(mén)課程推薦

熱門(mén)資訊

請(qǐng)綁定手機(jī)號(hào)

x

同學(xué)您好!

您已成功報(bào)名0元試學(xué)活動(dòng),老師會(huì)在第一時(shí)間與您取得聯(lián)系,請(qǐng)保持電話暢通!
確定