国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Deno 和 Jupyter Notebook:如何優雅地學習 LLM?

人工智能
工欲善其事,必先利其器。 LLM 的開發跟傳統的項目開發區別在于,LLM 很多請求是耗時甚至是耗錢的,基礎的如調用 OpenAI API,每次都會消費一定的 token。

工欲善其事,必先利其器。 LLM 的開發跟傳統的項目開發區別在于,LLM 很多請求是耗時甚至是耗錢的,基礎的如調用 OpenAI API,每次都會消費一定的 token。

另外,我們可能會反復調試一段代碼來測試最合適的參數和 prompt,如果我們像傳統 Nodejs 程序一樣每次都從頭重新跑一次,既耗時也花費比較多。所以我們需要使用適合機器學習和大模型領域的專用開發工具。

Deno 和 Jupyter Notebook

在正式介紹 Jupyter Nodebook 之前,我們先介紹一下 Deno,我相信大家或多或少聽說過 Deno,他是 Node.js 之父 Ryan Dahl 創建的新項目。更多的介紹可以看 Deno 的官網,一句話介紹,Deno 是把 nodejs 中分散的生態整合在一起,并提供更現代的框架支持。 例如 Deno 開箱支持 TypeScript、自帶格式化工具、自帶測試框架、高質量的標準庫,并且有比較好的安全性,默認腳本不能訪問文件、環境或者網絡等等好用的功能。

可以理解成一個更強的 Nodejs,當然 Deno 不是我們小冊的重點,你會 nodejs 就會 deno,并且獲得了很多 nodejs 需要配置才能使用的功能。

在了解完了 Deno 后,我們將學習在 AI 領域比較常用的工具 — Jupyter Notebook,我們少廢話,先看演示。

const text = await Deno.readTextFile("./people.json");

CleanShot 2024-03-18 at 21.46.36@2x.pngCleanShot 2024-03-18 at 21.46.36@2x.png

Jupyter Notebook 的核心是代碼塊,每個代碼塊作為一個整體去執行,并且可以多次反復執行。在代碼快的左側,是執行順序的標記,指這個代碼塊被執行的順序。

例如,如果你先執行第一個代碼塊,它會顯示數字 1;接著執行第二個代碼塊,它會顯示數字 2;然后你再執行代碼塊 1,它的左側就會顯示數字 3。

也就是這個數字顯示的是當前塊被執行的順序,這個數字存在的目的是幫助你跟蹤代碼塊的執行順序,并且在執行過程中保持清晰的狀態。

這個理解起來有點怪,我們用 code demo 測試一下,我們在第二塊中顯示變量 text。

CleanShot 2024-03-18 at 21.57.45@2x.pngCleanShot 2024-03-18 at 21.57.45@2x.png

在 Jupyter NoteBook 中,如果一個代碼快只有一個變量,那就會自動把該變量顯示出來,類似于 console.log(單個變量) 但又不一樣,其中有些微妙的區別在使用中你會感受出來。

所以,當運行完兩個代碼塊之后,在 js 的環境中有了 text 這個變量。我們可以把這里的從 txt 文件讀內容理解成一個耗時又耗錢的任務(就像 OpenAI API 一樣),在運行完這個任務后,就會把結果儲存在 text 中,后續就可以對 text 做任何測試,而不需要重復的從文件中讀取。

例如,我們可以對 text 進行切割。

CleanShot 2024-03-18 at 22.17.58@2x.pngCleanShot 2024-03-18 at 22.17.58@2x.png

如果我們對切割的結果不滿意,可以調整切割的方式。

CleanShot 2024-03-18 at 22.18.36@2x.pngCleanShot 2024-03-18 at 22.18.36@2x.png

可以看到,再次運行第三個單元格兩次后,左側的數字就變成了 4。

注意,如果上游數據發生了改變,下游并不會自動的更新或者重新運行,例如我們這里手動修改 text 的值改成一個字符串。

CleanShot 2024-03-18 at 22.21.05@2x.pngCleanShot 2024-03-18 at 22.21.05@2x.png

可以看到,后面依賴于 text 的代碼格并沒有自動更新,需要自己手動重新運行:

CleanShot 2024-03-18 at 22.20.26@2x.pngCleanShot 2024-03-18 at 22.20.26@2x.png

之所以叫 Notebook 是因為天然支持 markdown,我們新建一個塊,然后設置為 markdown 塊:

CleanShot 2024-03-19 at 11.37.55@2x.pngCleanShot 2024-03-19 at 11.37.55@2x.png

CleanShot 2024-03-19 at 11.39.34@2x.pngCleanShot 2024-03-19 at 11.39.34@2x.png

在運行之后,就會渲染出來:

轉存失敗,建議直接上傳圖片文件轉存失敗,建議直接上傳圖片文件

轉存失敗,建議直接上傳圖片文件。

有了 Jupyter NoteBook,我們就可以節約 費事/費錢 的請求,并且基于某個運行結果的輸出,在后面的代碼塊中,不斷嘗試各種解析或者處理方式。同時,也非常方便結合 markdown 來做一些筆記,獲得比在注釋里記錄更方便的學習體驗。

配置

Jupyter Notebook 項目開始以 python 為主,后續 deno 提供了 js/ts Kernel 的支持,所以我們需要分別安裝這兩個。這里以 Mac 環境演示,如果是 win/linux 可以參考后附的鏈接進行安裝。

首先我們需要本地有 python 環境,最好是 3.9 及以上的 python 環境。在配置好 python 環境后,然后安裝 Jupyter Notebook:

pip install notebook

如果你本地 python3 的 pip 別名是 pip3,那就需要:

pip3 install notebook

然后在本地安裝 Deno 環境:

curl -fsSL https://deno.land/install.sh | sh

安裝完畢 Deno 環境后,使用 deno 為 Jupyter Notebook 配置 kernel:

deno jupyter --unstable --install

然后通過運行以下命令,驗證 kernel 是否配置完成:

deno jupyter --unstable

顯示以下即為配置成功:

CleanShot 2024-03-19 at 11.27.05@2x.pngCleanShot 2024-03-19 at 11.27.05@2x.png

然后我們運行以下命令啟動 notebook:

jupyter notebook

然后就會自動打開一個網頁,然后我們就可以正常使用 notebook 了。

目前 deno kernel 的 Jupyter Notebook 不支持代碼提示,所以寫代碼會難受一點,大家可以安裝 vscode 插件,使用 vscode 去編輯和運行 notebook。

CleanShot 2024-03-19 at 11.43.55@2x.pngCleanShot 2024-03-19 at 11.43.55@2x.png

https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter

CleanShot 2024-03-19 at 11.45.39@2x.pngCleanShot 2024-03-19 at 11.45.39@2x.png

記得在右上角切換 Kernel 為 Deno, 如果切換 Kernel 遇到問題,可以參考文檔: https://code.visualstudio.com/docs/datascience/jupyter-kernel-management 。

目前在 VSCode 里的體驗也有問題,會因為識別不了 Deno 的引用在代碼上顯示出錯的樣式(這個在之后的代碼中也會遇到),但不影響正常運行,可以忽略代碼里的飄紅即可。

具體用什么編輯方式書寫 notebook 可以根據自己的喜好。

安裝參考鏈接:

  1. https://www.python.org/downloads/
  2. https://docs.deno.com/runtime/manual/
  3. https://docs.deno.com/runtime/manual/tools/jupyter
  4. https://jupyter.org/install
  5. https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter

Deno 依賴管理

Deno 直接從遠程拉取依賴,自帶緩存機制,而不需要本地安裝,例如我們如果需要 lodash 庫,我們不需要像 nodejs 一樣使用 npm/yarn 等來安裝依賴,而是可以直接從遠程引入:

import _ from "npm:/lodash

如果我們需要鎖定版本,則可以:

import _ from "npm:/lodash@4.17.21"

這個命令,就會讓 deno 從 npm 找到對應的 lodash 包,然后引入,我們就可以在另一個代碼塊中使用引入后的_,比如:

const a = _.random(0, 5);
a

CleanShot 2024-03-19 at 21.58.38@2x.pngCleanShot 2024-03-19 at 21.58.38@2x.png

當然,我們每次都這樣使用完整的鏈接引入就會比較麻煩,所以我們可以在頂層創建一個文件 deno.json 來給設置別名。

在跟 notebook 文件同級創建一個 deno.json 文件:

- 1-test-notebook.ipynb
- deno.json

然后填寫其中的內容為:

{
  "imports": {
    "lodash": "npm:/lodash@4.17.21"
  },
  "deno.enable": true
}

這里內容比較好理解,就是將  "npm:/lodash@4.17.21" 的別名設置為 lodash,其中"deno.enable": true 是如果你用了 deno 的 vscode 插件,可以讓它識別到,并對 deno 在 vscode 體驗的一些優化。

設置完畢后,我們就可以使用別名在 deno 中引入 lodash 了:

import _ from "lodash"

const a = _.random(0, 5);
a

注意,如果你更新了 deno.json 需要重啟 notebook 的內核才能讓 deno 拿到最新的別名:

CleanShot 2024-03-19 at 22.05.50@2x.pngCleanShot 2024-03-19 at 22.05.50@2x.png

這里,我們只介紹了足夠本教程使用 Deno 依賴管理,更多信息可以參考。

小結

這一節,我們學習了 在機器學習領域中常用的工具 Jupyter Notebook,這也是我們邁向專業 AI 的一步。你可以看到在 github 中,很多知名的 AI 論文開源的 demo 入口都是一個 Jupyter Notebook,其在 AI 這場景中有不可替代的優勢。

當然,Deno + Jupyter Notebook 這一套工具只是可選的,即使不配置也可以正常學習后續的課程,只需要將后續教程中部分 Deno 專有的 API 替換成 Node.js 對應的 API 即可。

我個人建議是嘗試一下 Deno,這可能是未來 js 在后端的風向,目前后端的各種 js 運行時在打架,可以都把玩看看,跟 nodejs 對比一下。而且,使用 Jupyter Notebook 在學習 AI 相關技術時確實十分方便,也是專業 AI 開發時會使用的工具。

責任編輯:武曉燕 來源: 愛學習的蝌蚪
相關推薦

2023-07-28 09:59:31

2022-05-05 12:25:46

Jupyter開發

2012-03-13 09:54:42

JavaScript

2020-09-24 05:50:46

PythonJupyter Not編程語言

2022-11-14 11:52:34

DataspellJupyterLabNotebook

2016-10-25 08:49:34

數據通信行業技能圖

2017-05-05 09:45:13

編程語言學習代碼

2011-06-09 16:23:18

SEO

2011-06-16 20:05:41

SEO

2020-12-18 08:00:00

Python開發Web

2023-11-05 12:31:07

Jupyter命令

2020-10-26 10:11:45

Jupyter Not早起Python開發

2024-01-03 16:37:26

Jupyter工具開源

2022-07-28 08:33:59

JupyterPython

2020-07-26 11:55:11

Jupyter Not擴展工具開發

2019-07-31 15:14:40

Python數據科學可視化

2023-05-24 16:48:47

Jupyter工具技巧

2021-08-12 16:02:22

Jupyter NotPython命令

2021-05-26 10:15:52

開發技能工具
點贊
收藏

51CTO技術棧公眾號

91久久久久久| 成人观看视频| 国产精品中文| 欧美二区三区的天堂| 天天影视综合色| 免费在线成人网| 国产原创欧美精品| 久久中文字幕一区二区| 精品福利一二区| 在线观看老湿视频福利| 成人午夜短视频| 欧美一区二区在线视频观看| 成人黄色av| 高清欧美性猛交xxxx| 成人不卡视频| 日韩成人高清在线| 乱人伦中文视频在线| 欧美性生交xxxxxdddd| 成人福利影院| 国产日韩v精品一区二区| 性做爰过程免费播放| 美女诱惑黄网站一区| 97人人香蕉| 亚洲一区色图| 国产精品专区第二| 青青一区二区| 久久久综合免费视频| 欧美专区一区| 欧美大肥婆大肥bbbbb| 久久电影天堂| 中文在线不卡视频| 一本大道色婷婷在线| 亚洲黄页网在线观看| 97蜜桃久久| 亚洲免费av片| 欧美aaa视频| 夜夜嗨av色综合久久久综合网| 中文字幕在线免费观看视频| 亚洲国产成人久久| √8天堂资源地址中文在线| 精品国产免费久久| 亚洲天堂免费电影| www.色综合| 成人h动漫免费观看网站| 欧美国产日韩一区二区| 欧美专区一区| 欧洲精品在线视频| 青青草成人影院| 99久久久久国产精品免费| 成人羞羞视频在线看网址| 国产精品久久一| 99久久www免费| 国产精品一区二区三区在线| 亚洲欧洲日本mm| 亚洲欧美日本国产有色| 国产成人自拍网| 手机看片福利日韩| 亚洲成人自拍偷拍| 日韩精品毛片| 日韩精品www| 国产一区二区三区四区五区3d| 欧美成人激情视频| 欧美色图在线播放| 狠狠久久综合婷婷不卡| 美女免费视频一区二区| 欧美日韩不卡在线视频| 亚洲图片激情小说| 三级毛片在线免费看| 欧美不卡一二三| 成人在线不卡| 国产精品电影久久久久电影网| 在线一区电影| 一区二区三区在线视频111| aa级大片欧美| 导航福利在线| 欧美成人高清电影在线| 国产精品久久久久久久久久久久久久久| 91国产高清在线| 一区二区三区四区五区精品视频 | 国产成人精选| 性色av一区二区三区| 欧美电影一区| 亚洲欧洲精品一区二区| 国产欧美精品一区| 草碰在线视频| 国产一区二区日韩精品欧美精品| 亚洲bt欧美bt精品777| 免费99视频| 国产精品人成在线观看免费| 9色在线观看| 久久韩剧网电视剧| 欧美精品麻豆| 精品久久久久久无码国产| 欧美三级午夜理伦三级中视频| 国产成人77亚洲精品www| 国产视频福利一区| 懂色av一区二区夜夜嗨| 九九九伊在人线综合| 日韩在线精品视频| 一区在线免费| chinese少妇国语对白| 欧美乱熟臀69xxxxxx| 日韩精品成人在线观看| 国产日韩精品推荐| 国产精品久久久久一区| 国模雨婷捆绑高清在线| 国产精品久久久久福利| 粉嫩av一区二区三区在线播放| 亚洲成人套图| 久久婷婷国产麻豆91天堂| 国产视频一区三区| av日韩在线免费| 国产小视频国产精品| 欧美精品午夜| 97在线观视频免费观看| 中文字幕精品av| 亚洲欧美日韩一区在线观看| 二区中文字幕| 久久久av电影| 精品一区二区精品| 1024视频在线| 国产精品久久av| 国产69精品久久久久777| 午夜小视频在线| 国产精品网站入口| 亚洲国产精品精华液ab| 中文在线最新版地址| 国产欧美亚洲日本| 亚洲国产成人av好男人在线观看| 国产高清视频一区二区| av不卡在线免费观看| 精品视频一区三区九区| 99久久精品费精品国产风间由美 | 最新欧美日韩亚洲| 欧美中文字幕亚洲一区二区va在线| 国产伦理久久久久久妇女 | 日韩三级免费观看| 在线成人超碰| 免费成人高清| 久久综合色影院| 国产ts人妖一区二区| 女人黄色免费在线观看| 美国av一区二区三区 | 成人免费在线视频播放| 91精品国产黑色紧身裤美女| 911精品美国片911久久久| caoporen人人| 午夜美女久久久久爽久久| 成人性生交大片免费看视频在线 | 日韩国产精品久久久| www.亚洲.com| 91中文字幕在线| 精品国产精品三级精品av网址| 竹菊久久久久久久| 男人免费av| 成人免费黄色网| 欧美视频精品一区| 999国产精品| 人成在线免费视频| 91精品国产综合久久久久久丝袜 | 亚洲欧洲日韩在线| 久久悠悠精品综合网| 99aiav| 日韩av免费看网站| 性感美女极品91精品| 亚洲女同中文字幕| 1769在线观看| 午夜久久资源| 亚洲色图在线观看| 国产亚洲一区二区三区四区| 午夜先锋成人动漫在线| 久艹在线视频| 国内一区在线| 日韩av在线直播| 99国产精品视频免费观看| 老司机精品视频在线播放| 黄色高清在线观看| 久久国产精品高清| 日韩理论片久久| 国产嫩草影院久久久久| 日本成人精品在线| 日韩精品亚洲一区| 91精品美女| 视频在线观看免费高清| 91精品国产综合久久香蕉的用户体验| 在线亚洲一区二区| 美女网站视频久久| 中文字幕视频精品一区二区三区| 欧美性猛交7777777| 欧美精品一区二区三区在线看午夜 | 97超碰国产一区二区三区| 欧美一区二区三区在线免费观看| 亚洲精品久久久久中文字幕欢迎你| www.欧美色图| 国产精品福利在线观看播放| 欧美人与禽性xxxxx杂性| 狠狠爱免费视频| 99久久精品无码一区二区毛片 | 欧美性生交xxxxxdddd| 久久国产综合精品|