大資料文摘授權轉載自資料派THU
作者:Ahmed Besbes
翻譯:陳之炎
校對:趙茹萱
或許,你已經聽說過ChatGPT了。
這是一款由OpenAI開發的新型人工智能聊天機器人,OpenAI是GPT-3、DALL.E2及其他産品的幕後開發公司。
ChatGPT橫空出世,它和以前的聊天機器人完全不同。令人難以置信的是:它能就各種主題生成詳細而全面的答案。例如,它可以回答哲學、數學或計算機科學中的技術問題、可以和ChatGPT閑聊、寫與機器學習相關的詩,甚至可以改變它的寫作風格。
更為有趣的是,ChatGPT可以非常出色地編寫和解釋代碼。
在本博中,将用一些涉及機器學習和軟體工程的程式設計問題來挑戰ChatGPT。作者将要求它編寫常用的代碼片段和函數,看看它是否能自動完成。筆者将在互動式GIF中提供ChatGPT對每個問題的答案以及它生成的代碼。
來一探究竟吧!
為機器學習模型建立一個FastAPI
當需要搭建機器學習模型時,首選的web架構絕對是FastAPI。然而,當涉及編寫基本例程時,往往總會忘記文法。
ChatGPT可以重新整理我的記憶:當要求它建立一個預測端點時,它會生成以下内容。
GIF由作者提供
不錯吧?它不僅能生成正确的API代碼,而且還對代碼進行注釋,并通過示例進行詳細解釋。
它甚至使用Pydantic風格來進行輸入和輸入驗證。
下面是代碼。當然,可以根據實際用例進行調整。
使用Python和彈性搜尋建立搜尋引擎
當需要利用搜尋引擎來查詢文本資料時,通常依賴于彈性搜尋。
當使用彈性搜尋時,首先應建立一個索引和一個映射。
要了解如何定義和建立對象,無需通讀文檔(再一次強調!),讓我們來看看ChatGPT說了些什麼:
GIF由作者提供
不出所料,ChatGPT直接生成了文檔和示例。
以下是ChatGPT生成的代碼:
用PyTorch訓練圖像分類的卷積神經網絡
當需要訓練一個神經網絡時,通常是從以前的項目中複制粘貼樣闆代碼。
問一下ChatGPT不是更香嗎?
GIF由作者提供
生成的代碼幾乎是完美的:出于某種原因,ChatGPT在前向階段停止了,且沒有使用梯度更新權重。
有趣的是,在訓練中使用的參數值(學習率、epochs數目、内數目和核大小)都是真實的。
代碼:
為NLP任務訓練XGBoost模型
接下來,看是否能夠要求ChatGPT利用XGBoost建構一個文本分類器,實作文本資料的特征工程。
ChatGPT對此做了下述響應,它使用了一個Tfidf矢量轉換器,看上去不錯!
GIF由作者提供
不知道它是否可以用詞嵌入來修改答案🤔
代碼:
使用MLflow來跟蹤機器學習實驗
當需要運作不同的機器學習實驗并對它們進行比較時,通常會用MLflow在中央伺服器中跟蹤機器學習實驗。
以下是可重複使用多次的代碼片段。(衷心感謝,ChatGPT🙏)
GIF由作者提供
代碼:
編寫GitHub操作,以自動部署FastAPI應用程式
如果需要将應用程式投入生産,很可能依賴某些CI/CD管道來自動化部署,或在代碼庫上運作一套內建測試。
通常使用以下Github動作。
GIF由作者提供
這是ChatGPT對該話題的看法。
代碼:
結論
ChatGPT提供了卓越的代碼生成能力,預計很快會成為開發人員的工具箱。
然而,它無法提供(尚沒有)推理或優化複雜問題的解決方案。如果出現了什麼問題,不能依賴ChatGPT來修複錯誤代碼。
在我看來,ChatGPT是一種濃縮的開放知識庫,可以用自然語言來實作複雜的查詢。但這并不意味着可以用它做一些過火的事,也不意味着可以盲目地依賴它。
用最好的判斷力來提出正确的問題。
原文标題:
How I Used ChatGPT To Automate These 6 Tasks In My Data Science Role
原文連結:
https://medium.com/gitconnected/how-i-used-chatgpt-to-automate-these-6-tasks-in-my-data-science-role-52e8ddfc03cf?source=topics_v2---------0-86--------------------b1f162c5_fca7_4d17_ba3e_c3e2f576cf2a-------17