(上圖是由DALL-E產生的圖案 : 雨天、大樓、擁擠人群)
ChatGPT功能很強大,但是他很可能會看人說話,也就是說你的問題(輸入)會決定他的答案(輸出),因此最近出現了Prompt Engineer (AI模型訓練師) 這樣的職務。
什麼是Prompt Engineer?
Prompt的原意是「提示」或是「驅使」,Prompt Engineer的任務就是訓練或調整AI而輸出你想要的或是正確的答案。把Prompt Engineer翻譯為「提示工程師」,似乎有點把這個職務做Low了,應該翻譯為「AI溝通工程師」、「AI溝通師」或是「AI模型訓練師」會比較符合實際的操作。
在”Bing與ChatGPT結合,將會取代Google嗎?“這篇文章,提到ChatGPT真的會寫程式。而這篇”如何利用 ChatGPT 有效率的將網站中所有 jQuery 轉換成 VanillaJS“提到讓ChatGPT將jQuery改寫為VanillaJS,更近一步詮釋了不同的Prompt產生的差異。
Prompt Engineering 就是一種人工智慧的訓練模式,稱為prompt-based learning (提示型學習),最簡單的Prompt就是文字型的提示,例如我們可以在DALL-E、Stable Diffusion、Midjourney輸入文字提示而得到圖案,只是你不能說給了prompt就是Prompt Engineer罷了。
例如我們要DALL-E畫出泰迪熊與機器人在太空中,他給了這個圖案 :
我們之前提過,GTP-3等類似的人工智慧非常適合不需要很精準的工作,例如DALL-E的圖像創作。這類的圖像就透過各種Prompt的條件來產生,甚至已經出現銷售Prompt的行業。如這篇文章”AI画画催生新职业:现在出售DALL·E 2提示词就能赚钱,平台抽成20%“說的,因為精確的Prompt可以生成需要的圖像,所以使得Prompt也產生了市場價值。PromptBase這家初創公司,就是一個銷售Prompt的平台,專門銷售DALL-E、Stable Diffusion、Midjourney的圖像Prompt,以及GPT-3產生故事的Prompt。
什麼樣的Prompt才會導出正確的答案?
我們再回來ChatGPT來看看Prompt Engineering如何影響輸出答案。
ChatGPT告訴我什麼是Prompt Engineering :
Prompt engineering 是一種技術,它可以幫助調整語言模型(如 GPT-3)的行為,使其能夠在特定應用中更好地運作。這可以通過提供預定義的「prompt」(即輸入文本)來實現。提示可以包括一個或多個關鍵字或短語,或是一個完整的題目或描述。通過這種方式,模型可以更好地理解輸入並生成更相關的輸出。
Prompt Engineering 在自然語言處理和人工智能領域中非常重要,因為它可以提高模型的準確性和效率。它也可以用於創建新的應用,如自動作文,自動翻譯,Q&A系統等。
Prompt engineering 也有一些挑戰,因為它需要對模型和數據有深入的了解,並且需要不斷地進行優化和調整才能得到最佳效果。
Prompt engineering 是一項技術,並需要一定的專業知識和經驗才能獲得高效率。
要成為一名Prompt Engineer,需要掌握自然語言處理和機器學習的基礎知識,並對深度學習模型和語言模型有較深入的了解。這需要不斷學習和實踐。
另外,Prompt Engineer 還需要具備其他技能,如數據分析和可視化,以及統計學和測試方法等。這些技能可以幫助他們測試和評估不同的prompt,並找出最佳的prompt組合。
總的來說,prompt engineering是一項多學科的技術,需要專業知識和經驗才能獲得高效率,但是透過不斷學習和實踐,任何人都可以成為一名Prompt Engineer.
以上的回答跟去研究相關資訊後,發現大致上都沒有錯誤,並不是跟ChatGPT聊聊天後得到答案就可以當個Prompt Engineer,而是必須了解自然語言與機器學習的基礎,才能夠當個稱職的Prompt Engineer。就如同你寫了一篇SEO文案,並不代表你就是一個SEO工程師一樣,因為你寫的SEO文案可能很差而沒有效果,就算寫得很好,撰寫SEO文案也只是SEO工程師工作的一部分而已。
給了什麼prompt,ChatGPT就會給你什麼答案。例如下面例子 …
然後他就接著一直用武俠小說的風格在回答問題了,完全停不下來,直到session結束。
給予Prompt讓人工智慧輸出答案,也只是Prompt Engineer工作的一部分而已,要成為一名prompt engineer還需要學習和實踐許多不同的技能,例如數據分析和可視化,統計學和測試方法等。這些技能可以幫助他們評估不同的prompt組合,找出最佳的prompt組合,並提高模型的效率。
不過目前我們只是「ChatGPT的使用者」,因為每次使用ChatGPT都有限制次數,並且不同時間使用ChatGPT也不能夠延續上次的內容,因此你並不能真正執行Prompt Engineer的工作來評估哪個prompt組合才是最佳的。當作為ChatGPT的使用者時,你不需要具備prompt engineering的專業知識和經驗,使用時並不需要對模型本身進行配置或修改。你可以只簡單地輸入文本(prompt),然後使用模型生成輸出文本。不同的文本(prompt)輸入會產生不同的輸出,你只是享用了prompt engineering的結果。
再說得白話一點,如同你玩樂高(LEGO)時,只是使用樂高的產品來拼湊出來一個成品,你不能說自己是樂高的產品工程師,因為樂高不是你設計出來的。但是樂高產品工程師就必須不斷的透過使用樂高,找出樂高最佳的組合來修改樂高的製造,樂高的使用也只是樂高產品工程師工作的一部分而已,真正的樂高產品工程師還需要具備產品設計、工業工程、機械工程、物理學、幾何學、力學等等專業知識才能夠扮演一個稱職的樂高產品工程師。
Prompt Engineering 是設計和開發對話式AI系統的提示或用戶界面的過程,如聊天機器人和語音助手。這個過程包括確定用戶可能會問的問題或任務的類型,並創建適當的回應和互動。目標是創建一個無縫和自然的用戶體驗,在這種體驗中,對話式AI系統可以理解和回應用戶輸入,並使其易於理解和互動。
Prompt Engineer 應該是具備自然語言與機器學習等各種專業知識,然後透過評估各種不同的prompt組合,找出最佳的prompt來提高模型效率的工程師。所以Prompt Engineer不該翻譯為「提示工程師」,應該翻譯為「AI溝通工程師」、「AI溝通師」或是「AI模型訓練師」才比較符合實際的工作內容。