剛剛在整理筆記的時候,發現兩年半前還在前公司就應該要發的文章一直躺在筆記裡面,快點整理一下 po 出來。
---
這是第三篇關於 log 的文章,應該也是最後一篇了,這次來聊聊如何讓開發者用 log 了解自己發出的 API 流程是否正確及如何提升效率。
強者小編同事用 python 寫的 log 整理工具,其實就是把 AP 吐出來的一堆多行 debug log,轉成只有 header、url、執行時間的單行 log。所以其實可以把產生出的 API log 再用其他 Linux 指令,即時顯示給開發者看。
---
這麼做的好處不少,對 frontend 來說,可以避免下列問題發生:
1. API 誤用:A 畫面應該是要串 a API,可是卻串到了 b API,又或是串成了 a' API。串成 b 是有點誇張啦,但最近 review 後發現 a' API 倒是比較常出現,像是參數帶錯之類的。
2. 誤解 API 流程:流程應該是串 abc,可是卻串成了 acb。有時候這不是什麼大問題,但在注重流程的 App 上這就很嚴重了。
3. API 狂發:流程應該是串 abc,但卻變成了 abbbcc。這個問題在使用上比較難發現,因為會有這類問題的大都是 GET API,依 RESTful GET API 的 idempotent 特性,無論執行多少次 GET,結果都會是一樣,所以也就更難發現問題了。
---
對 backend 來說的好處也不少:
1. 了解 cache 設計方向:像是剛剛的第 3 點問題,在 frontend 還沒更版前,backend 可以先加上 Cache-Control 機制,把大量的無效 request 從資料庫轉移到 Cache 裡面,當然 frontend 本來就要有這機制才行。
2. 了解每支 API 的效率:開發 API 沒幾個重點,就是流程正確、執行速度快,其中執行速度也是最難處理的一塊。所以了解 API 的處理速度,才有辦法做最佳化。
用這套工具就可以把上面提到的幾個重點一一檢視,也發了十幾個 issue 給 frontend 及 backend,算是 CP 值很高的一個開發。
---
至於技術細節,其實也就下面兩個重點而已:
1. 用 SocketIO 建置一套 WebSocket Server,然後放兩個輸入框,表示要訂閱 (subscribe) 的 log 來源及要監視的 user id
2. 用 tail -f 將 log 即時 pipe 到強者同事寫的 log 整理工具,再用 awk 把需要的欄位輸出,最後將輸出的欄位發送到 WebSocket Server
這個即時顯示 log 的網頁從發想到完成,工時應該只有兩三個小時吧,但發揮的效用可說是非常的大,今天就靠這個網頁開了十幾張單,算是最近小編蠻能說嘴的一項工作了吧 XDDD
* https://www.facebook.com/kewang.information/posts/2058766574399706
* https://www.facebook.com/kewang.information/posts/2085843121692051
#socketio #websocket #log
url多個參數 在 李開復 Kai-Fu Lee Facebook 的最佳解答
這是我看過最好的一篇GPT-3 科普文章。到現在還看不懂GPT-3的,建議好好讀:
本文來自量子位微信公眾號
…………………………………………
火爆全球的GPT-3,到底憑什麼砸大家飯碗?
GPT-3是指第三代生成式預訓練Transformer,它由三藩市AI公司OpenAI開發。該程式歷經數年的發展,最近在AI文本生成領域內掀起了一波的創新浪潮。
從許多方面來看,這些進步與自2012年以來AI影像處理的飛躍相似。
電腦視覺技術促進了、無人駕駛汽車到面部識別、無人機的發展。因此,有理由認為GPT-3及其同類產品的新功能可能會產生類似的深遠影響。
與所有深度學習系統一樣,GPT-3也是資料模式。它在龐大的文本集上進行了訓練,並根據統計規律進行了挖掘。
重要的是,此過程中無需人工干預,程式在沒有任何指導的情況下查找,然後將其用於完成文本提示。
▌海量訓練數據
GPT-3的與眾不同之處在於它的運行規模和完成一系列令人難以置信的任務。
第一版GPT於2018年發佈,包含1.17億個參數。2019年發佈的GPT-2包含15億個參數。
相比之下,GPT-3擁有1750億個參數,比其前身多100倍,比之前最大的同類NLP模型要多10倍。
GPT-3的訓練資料集也十分龐大。整個英語維琪百科(約600萬個詞條)僅占其訓練數據的0.6%。
訓練資料的其他部分來自數位化書籍和各種網頁連結。不僅包括新聞文章、食譜和詩歌之類的內容,還包括程式碼、科幻小說、宗教預言等各種你可以想像到的任何文字。
上傳到互聯網的文本類型都可能成為其訓練資料,其中還包括不良內容。比如偽科學、陰謀論、種族主義等等。這些內容也會投喂給AI。
這種不可置信的深度和複雜性使輸出也具有複雜性,從而讓GPT-3成為一種非常靈活的工具。
在過去的幾周中,OpenAI通過向AI社區的成員提供GPT-3商業API,鼓勵了這些實驗。這導致大量新的用法出現。
下面是人們使用GPT-3創建的一小部分示例:
▌GPT-3能做什麼
1、基於問題的搜尋引擎:就像Google,鍵入問題,GPT-3會將定向到相關的維琪百科URL作為答案。
2、與歷史人物交談的聊天機器人:由於GPT-3接受過許多數位化書籍的訓練,因此它吸收了大量與特定哲學家相關的知識。這意味著你可以啟動GPT-3,使其像哲學家羅素一樣講話。
3、僅需幾個樣本,即可解決語言和語法難題。
4、基於文本描述的代碼生成:用簡單的文字描述你選擇的設計項目或頁面配置,GPT-3會彈出相關代碼。
5、回答醫療問題:來自英國的一名醫學生使用GPT-3回答了醫療保健問題。該程式不僅給出了正確答案,還正確解釋了潛在的生物學機制。
6、基於文本的探險遊戲。
7、文本的風格遷移:以某種格式編寫的輸入文本,GPT-3可以將其更改為另一種格式。
8、編寫吉他曲譜:這意味著GPT-3可以自行生成音樂。
9、寫創意小說。
10、自動完成圖像:這項工作是由GPT-2和OpenAI團隊完成的。它表明可以在圖元而不是單詞上訓練相同的基本GPT體系結構,從而使其可以像在文字上一樣實現視覺資料自動完成任務。
但是,所有這些樣本都需要一些上下文,以便更好地理解它們。而令人印象深刻的是,GPT-3沒有接受過完成任何特定任務的訓練。
常見的語言模型(包括GPT-2)需要完成基礎訓練,然後再微調以執行特定任務。
但是GPT-3不需要微調。在語法難題中,它只需要一些所需輸出類型的樣本(稱為“少量學習”)。
GPT-3是如此龐大,以至於所有這些不同功能都可以在其中實現。用戶只需要輸入正確的提示就可以調教好它。
但是網上傳出的內容存在另一個問題:這些都是精心挑選的樣本,生成結果肯定不止一個。必然有炒作因素。
正如AI研究人員Delip Rao在一篇針對GPT-3的炒作解構文章中指出的那樣,該軟體的許多早期演示來自矽谷企業家,他們渴望宣傳該技術的潛力並忽略其陷阱,因為他們關注AI帶來的新創業公司。
的確,瘋狂的鼓吹情緒變得如此強烈,以至於OpenAI CEO本人都發Twitter說:GPT-3被過度宣傳了。
▌GPT-3也會犯低級錯誤
儘管GPT-3可以編寫代碼,但我們很難判斷其總體用途。它是淩亂的代碼嗎,這樣的代碼會為人類開發人員帶來更多問題嗎?
沒有詳細的測試很難說,但是我們知道GPT-3在其他方面會犯嚴重錯誤。
當用戶和GPT-3創造的“約伯斯”交談時,詢問他現在何處,這個“約伯斯”回答:“我在加州庫比蒂諾的蘋果總部內。”這是一個連貫的答案,但很難說是一個值得信賴的答案。
在回答瑣事問題或基本數學問題時,也可以看到GPT-3犯了類似的錯誤。例如,不能正確回答100萬前的數是多少(回答是99萬)。
但是,我們很難權衡這些錯誤的重要性和普遍性。
如何判斷這個可以幾乎回答所有問題的程式的準確性?如何創建GPT-3的“知識”的系統地圖,然後如何對其進行標記?
儘管GPT-3經常會產生錯誤,但更加艱巨的挑戰是,通常可以通過微調所輸入的文本來解決這些問題。
用GPT-3創造出小說的研究人員Branwen指出,“抽樣可以證明知識的存在,但不能證明知識的缺失”,可以通過微調提示來修復GPT-3輸出中的許多錯誤。
在一個錯誤的示範中,詢問GPT-3:“哪個更重,一個烤麵包機或一支鉛筆?” 它回答說:“鉛筆比烤麵包機重。”
但是Branwen指出,如果你在問這個問題之前給機器投喂某些提示,告訴它水壺比貓重,海洋比塵土重,它會給出正確的回應。
這可能是一個棘手的過程,但是它表明GPT-3可以擁有正確的答案,如果你知道怎麼調教它。
Branwen認為,這種微調最終可能會最終成為一種編碼範例。就像程式設計語言使用專用語法的編碼更加流暢一樣,未來我們可能完全放棄這些程式設計語言,而僅使用自然語言程式設計。從業人員可以通過思考程式的弱點並相應地調整提示,來從程式中得出正確的回應。
GPT-3的錯誤引起了另一個問題:該程式不可信的性質是否會破壞其整體實用性?
現在人們已經嘗試了GPT-3各種用途:從創建客服機器人,到自動內容審核。但是答案內容的錯誤可能回給商業公司帶來嚴重後果。
沒有人原因創建一個偶爾侮辱客戶的客服機器人。如果沒有辦法知道答案是否可靠,我們也不敢拿GPT-3作為教育工具。
▌專業人士評價
一位匿名的在Google資深AI研究人員說,他們認為GPT-3僅能自動完成一些瑣碎任務,較小、更便宜的AI程式也可以做到,而且程式的絕對不可靠性最終會破壞其商用。
這位研究人員指出,如果沒有很多複雜的工程調試,GPT-3還不夠真正使用。
AI研究人員Julian Togelius說:“ GPT-3的表現常常像是一個聰明的學生,沒有讀完書,試圖通過廢話,比如一些眾所周知的事實和一些直率的謊言交織在一起,讓它看起來像是一種流暢的敘述。”
另一個嚴重的問題是GPT-3的輸出存在偏見。英偉達的AI專家Anima Anandkumar教授指出,GPT-3在部分程度上接受了Reddit過濾後的資料的訓練,並且根據此資料構建的模型產生的文本有“令人震驚地偏向性”。
在GPT-2的輸出中,如果要求完成下列句子時,模型會產生各種歧視性言論:“ 黑人(皮條客工作了15年)”、“ 那個女人(以Hariya為名做妓女)”。
參考連結:
https://www.theverge.com/21346343/gpt-3-explainer-openai-examples-errors-agi-potential
url多個參數 在 Ray TV Facebook 的最佳貼文
你有了網站之後,想要多了解來逛網站的人 最有效快速的方法 就是利用 Google Analytics 也就是大家俗稱的GA分析 這套流量分析系統相當的好用 但是在使用某些功能分析 量是從哪邊而來的時候就會發現很多流量來源是顯示這樣的 not provided就無法進一步分析 我們只要在上面加入 UTM GA就可以準,就可以簡單操作使用UTM 你的網站流量是從哪邊而來的時候 就會發現很多流量來源是顯示這樣的 not provided 就無法進一步分析 或是 你找的部落客或是網紅 你想準確分析出它們的各自效益 當作下一次合作投遞的參考 這些東西都可以透過GA+UTM幫你實現 我們在進行網路行銷時候 不是都會丟一串連結的網址給顧客點進來嗎? 我們只要在上面加入 UTM 參數 如此一來 GA在分析數據的時候 就可以準確的將他分析歸類 利用簡單的網路工具,就可以簡單操作使用UTM 分享給大家這個網站 大家不要被一整串嚇到了 想說我不會寫程式,也不會什麼函數 其實很簡單 大家只要按照下面的說明進行就可以囉!!! Website URL →填寫你要連結的網址 Campaign Source → 廣告活動來源(必填) Campaign Medium →廣告活動媒介(建議填寫) Campaign Name →Campaign Name 廣告活動名稱(建議填寫) Campaign Term → 廣告活動字詞 Campaign Content → 廣告活動內容
https://raytv123.com/2020/06/12/utmutm/