一個普通工程師,開源專案前要考慮什麼?

超神經HyperAI發表於2019-02-19

By 超神經

OpenAI 在釋出 GPT-2 之前,估計想象不到,自己的開源行為給學界、工業界引起了軒然大波,當然這與他們的研究成果大,科研水平高也有著很大關係。

作為普通開發者,開源到底會有哪些風險和好處?本文羅列了幾個開源前需要考慮的問題,以及部分作者的經驗之談。O

OpenAI 開源了,結果呢?

OpenAI 在釋出 GPT-2 之前,估計想象不到,自己的開源行為給學界、工業界引起了軒然大波,當然這與他們的研究成果大,科研水平高也有著很大關係。

作為普通開發者,開源到底會有哪些風險和好處?本文羅列了幾個開源前需要考慮的問題,以及部分作者的經驗之談。

OpenAI 上週介紹了 NLP 領域內最先進的文字生成模型 GPT-2,但他們最終決定不公開全部的資料,對此給出的說法是:

「由於擔心該技術被惡意應用,我們不會發布經過培訓的模型。」

從 OpenAI 釋出 GPT-2 ,到宣佈只開源部分成果的過程中,引起了巨大的爭議。有觀點認為如果全部開源,一定會有惡意使用,甚至引發犯罪;而支援公開的言論認為不公開全部資料,會其他的科研人員對成果復現困難。

Anima Anankumar 致力於機器學習理論和應用的協調發展。 她在推特上對 OpenAI 決定釋出模型的迴應是:

這就是一個非黑即白的問題。你們在利用媒體炒作語言模型。關於這個話題的研究有很多。你們聲稱研究結果效果驚人卻只讓記者瞭解箇中詳情。應該有知情權的是研究人員而不是記者。

Stephen Merity 對社交媒體的迴應進行了總結,他感嘆機器學習社群在這方面的經驗不多:

今日總結(關於 OpenAI):在負責任的披露,雙重使用或如何與媒體互動方面,我們都沒有對這件事情達成任何共識。這應該是和我們每個人,領域內外的人都息息相關。

開源這個事情,相信很多人都已經從中收益。那麼牽涉到我們作為獨立工程師或依附於公司或機構的工程師,我們自己的模型要不要開源呢?

有人總結了一份指南,可以在你躊躇不定時,引導你往前一步去思考。

給普通工程師的硬核開源建議Q

是否要去考慮開源自己的模型?

當然是要!

無論最終結果如何,思考一下模型開源的可能性,不要完全迴避開源。 不過,如果你的模型涉及到私密資料,一定要考慮到不法分子,可能通過反編譯獲取原資料的風險。 Q

如果模型全部來自公開資料集,我需要擔心什麼問題?

即使都來自於公開資料集,但是與其他人研究方向和目的的不同,可能會帶來新的影響。

因此,需要問一個問題:即使只使用公開資料集,但不同的研究方向是否會對資料或模型會造成什麼影響?

比如在阿拉伯之春期間,有些地區因為動亂導致經常封路,當地年輕人就在 Twitter 上吐槽,而有關組織,就利用監控 Twitter 上的使用者的內容來分析敵對方的軍事路線。

單條資料看起來可能沒什麼用,但一旦資料被組合起來,就有可能產生許多敏感的結果。

所以,要去考慮這個問題:模型中的資料合併起來,是否會比單個資料點更加敏感?

如何評估開源後的風險?

從安全性去考慮,權衡「不開源」和「開源卻被濫用」所造成的影響,哪一個更嚴重。 ?

要將每個策略視為「可更改的梗安全措施的成本,可能高於被保護的資料價值。比如有些資訊涉及私密,但有時效性作為前提,一旦過了時效,資訊就不再私密,但卻依然有極大的研究價值。

因此,對於不好的安全策略也要及時捨棄,高效地識別和維護資料集價值。

此外,衡量一下模型使用的複雜程度,和壞人拿來利用的門檻來比,哪個更容易?確認過這個影響,再去決定是否開源。

在 OpenAI 的案例中,他們可能認為不開放全部模型,就足以阻止網際網路上的惡意使用。

但要承認,對於不少業內人士來說,即使開放了全部模型,都不一定能復現得出論文,有心惡意利用的人也需要很大的成本。

我應該相信媒體們所描述的開源的風險嗎?

不。

媒體的描述總是會引導輿論,記者們想要更高的閱讀量,聳人聽聞的標題和觀點會更吸引人。記者們可能傾向於開源,因為這樣他們更容易報導,另一方面,不開源的決定可能導致慫人聽聞的謠言(與 OpenAI 案例一樣,開不開源都會被媒體記者們各種誇大其詞)。 Q

應該相信有關部門對開源風險的意見嗎?

顯然也是不。

當然首先要自己確保研究是合法合理的,那些政府機構的工作人員也可能並不專業,他們可能更關心輿論的壓力,正所謂「沒有事,就是好事」,所以他們的觀點也不是判斷是否開源的關鍵。

不過也要像記者一樣,既將政府視為重要的合作伙伴,同時也意識到彼此有不同的訴求。

應該思考應對開源後負面用例的解決方案嗎?

是的!

這是 OpenAI 此次沒做好的地方。如果模型能被用來建立假新聞,那麼假新聞也可能被進一步的檢測出來。比如建立一個文字分類任務,去更準確地區分是人類寫的和 OpenAI 模型的輸出。

Facebook 、微信和各類媒體網站,一直在打擊假新聞和謠言上付出了很多努力, OpenAI 的這項研究明顯是能提供幫助的,是否能以相關的方式檢測這種模型輸出,從而去對抗假新聞?

按理說,OpenAI 能在短時間內出個解決方案的,但他們沒有。 Q

是否應該去注意平衡模型的負面案例和正面用例?

是。

通過釋出具有積極應用的模型,比如醫療、安防、環保,很容易對社會執行的各個環節都產生貢獻。

OpenAI 的另一個失敗之初在於,他們的研究缺乏多樣性。OpenAI 釋出了的研究僅適用於英語和少數其他語言。但英語僅佔全世界對話的 5% 。對於句子中的單詞順序,標準化拼寫以及「單詞」如何用作機器學習功能的原子單位,英語的情況可能不適用於其他語言。

OpenAI 作為科研領域的先驅,也有責任嘗試其他語言型別的研究, 幫助更需要幫助的語言和地區。 Q

開源模型之前,資料要脫敏到什麼程度?

建議脫敏到欄位級別,最起碼從欄位級別開始評估。

比如我在 AWS 工作時負責的剛好是:命名實體識別服務,我就必須要考慮到:是否要將街道級地址識別為顯式欄位,以及是否將具體座標對映到該地址。

這從本質上都是非常敏感的私人資訊,尤其在被商業公司產品化的時候,應該考慮到。所以,在任何研究專案中都要考慮這一點:是否已經將關鍵資料進行脫敏? Q

當別人都說可以開源時,我應該開源我的模型嗎?

不,你應該有自己的判斷力。

無論你是否同意 OpenAI 的決定,他們都是自己做出最後的決定,而不是盲目地聽從網友的意見。

原文:Robert Munro

編譯:神經小姐姐


相關文章