作者: admin

  • perplexity是搜尋的未來嗎?Perplexity 的主要優勢是什麼?

    ## Perplexity是AI搜尋的未來

    Perplexity 有以下幾個特點,使它有望成為搜尋的未來:

    ### 1. 提供精準答案而非連結列表

    – Perplexity 不是簡單地返回一堆相關連結,而是利用大語言模型產生一個簡潔的答案,並附上引用的來源[1][3]
    – 這種對話式的搜尋體驗更符合使用者的需求,不需要自己去閱讀大量網頁[4]

    ### 2. 結合傳統搜尋和大語言模型的優勢

    – Perplexity 先利用傳統搜尋引擎找到相關內容,再輸入大模型生成答案[3]
    – 這種方式可以減少大模型的幻覺問題,提高答案的可靠性[3]

    ### 3. 個人化推薦

    – Perplexity 可以根據使用者的地理位置、性別、瀏覽習慣等特徵,為每個人提供個人化的搜尋結果[2]
    – 這種基於特徵向量的個人化,能為使用者帶來很好的體驗[2]

    ### 4. 顛覆性創新

    – Perplexity 不是簡單地複製Google的搜尋模式,而是從根本上重新思考搜尋引擎的 UI 和互動方式[2]
    – 例如將連結放在側邊欄,讓答案成為主體,這種創新有望顛覆傳統搜尋[2]

    當然,Perplexity 也存在一些缺點,例如對話上下文理解還不夠強,有時會給出錯誤訊息[1]。不過隨著技術的進步,這些問題都會得到解決。

    總的來說,Perplexity 的創新思路和技術實現,都讓它成為AI搜尋的未來。它不是要取代Google,而是要重塑我們獲取資訊的方式,讓搜尋變得更加高效、個性化和智能化。

    ## Perplexity 的主要優勢

    ### 1. 提供簡潔準確的答案

    – Perplexity 不是簡單地返回一堆相關連結,而是利用大語言模型產生一個簡潔的答案,並附上引用的來源[1][2]
    – 這種對話式的搜尋體驗更符合使用者的需求,不需要自己去閱讀大量網頁

    ### 2. 結合傳統搜尋和大語言模型的優勢

    – Perplexity 先利用傳統搜尋引擎找到相關內容,再輸入大模型生成答案[1]
    – 這種方式可以減少大模型的幻覺問題,提高回答的可靠性

    ### 3. 個人化推薦

    – Perplexity 可以根據使用者的地理位置、性別、瀏覽習慣等特徵,為每個人提供個人化的搜尋結果[4]
    – 這種基於特徵向量的個人化,能帶給使用者很好的體驗

    ### 4. 創新的 UI 設計

    – Perplexity 不是簡單地複製Google的搜尋模式,而是從根本上重新思考搜尋引擎的 UI 和互動方式[4]
    – 例如將連結放在側邊欄,讓答案成為主體,這種創新有望顛覆傳統搜索

    ### 5. 演算法創新提升效能

    – Perplexity 在召回和排序環節都進行了演算法創新,保證內容的有用性和引用的精確程度[3]
    – 在人工評估中,Perplexity 的內容有用性和引文召回率都位居前列,綜合能力領先[3]

    總的來說,Perplexity 的創新思路和技術實現,都讓它在搜尋領域脫穎而出。它不是要取代Google,而是要重塑我們獲取資訊的方式,讓搜尋變得更加高效、個性化和智能化。

     

  • 市值蒸發近百億,全球大宕機「始作俑者」CrowdStrike究竟是誰?

    「全球大宕機」的始作俑者究竟是什麼公司?

    來源|華爾街見聞
    作者|黃雯雯

    7月19日週五,微軟系統發生了全球大宕機事故,市場陷入混亂,多家企業的營運出現問題,全球供應鏈也受打擊,在歐亞和北美的全球最大航空貨運樞紐,數千架航班停飛或延誤,航空運輸可能需要幾週才能恢復正常。事件背後的「罪魁禍首」CrowdStrike 因此成為了焦點。

    據媒體報道,近日全球範圍內的電腦系統崩潰是由於CrowdStrike Falcon版本更新的一個問題造成的。

    當地時間週五,美股盤初,CrowdStrike股價一度大跌14%,收跌11.1%,報每股304.96美元,市值一夜蒸發近百億美元,創2022年以來最差單日表現。值此之

    際,「木頭姐」Cathie Wood管理的ARK ETF也大手筆抄底。

    那麼這個「全球大宕機」的始作俑者究竟是什麼公司?如何影響微軟並造成如此大的殺傷力的?

    CrowdStrike是什麼公司?

    據介紹,CrowdStrike是一家提供線上安全解決方案的公司,專注於提供基於雲端運算的端點保護平台。公司成立於2011年,總部位於美國加州,CrowdStrike的主要產品是Falcon平台,它利用人工智慧和機器學習技術來偵測、預防和回應網路威脅。

    CrowdStrike是美國的網路安全龍頭公司,因其在偵測和防禦高級網路攻擊方面的能力而聞名,世界500強企業中有271家是其客戶,其軟體被包括微軟、亞馬遜AWS在內的一些最大的雲端服務公司供應商所使用,也包括主要的全球銀行、醫療保健和能源公司,幫助它們檢測並阻止駭客威脅,許多政府機構(例如美國頂級的網路安全機構和基礎設施安全局)也使用其軟體。

    據市場研究機構IDC稱,在價值86億美元的「端點偵測與回應」(EDR)軟體市場中,CrowdStrike佔比重約18%,僅次於微軟

    CrowdStrike如何導致藍屏?微軟為何捲入其中?

    CrowdStrike提供的軟體類型有別於舊式的、版本有限的安全軟體,傳統的防毒軟體在電腦和網路發展初期效果顯著,因為它能夠捕捉已知惡意軟體的跡象,但隨著攻擊變得越來越複雜,這種軟體已經不再受歡迎。

    現在,CrowdStrike開發的被稱為「端點偵測和回應」軟體的產品比傳統防毒軟體有效得多,但與其他網路安全產品一樣,CrowdStrike的軟體需要更深層地存取電腦的作業系統來掃描威脅,而這種存取權限使其有能力破壞它們試圖保護的系統。

    微軟和CrowdStrike是競爭對手,兩家提供的「端點」網路安全產品類似,CrowdStrike的Falcon平台可以與微軟的安全產品集成,如Microsoft Azure和Microsoft 365,以增強整體網路安全防護能力。

    據報道,昨天的事故或源自於CrowdStrike發布的軟體程式碼更新與Windows系統的互動方式有誤而崩潰,導致大量用戶出現「藍屏死機」。

    CrowdStrike的聯合創始人兼首席執行官George Kurtz承認了這個問題,並表示已經部署了修復措施:

    “CrowdStrike正在積極與受影響的客戶合作,解決在Windows主機上發現的單一內容更新中的缺陷。Mac和Linux主機不受此影響。這不是一起安全事件或網路攻擊。”

    CrowdStrike殺傷力有多廣?

    CrowdStrike一個錯誤的軟體更新導致航空、銀行、醫療保健、零售等行業客戶出現連環故障,港口、企業和政府都受到影響。醫院被迫推遲了手術,麥當勞、UPS和聯邦快遞也因此故障。摩根大通、野村控股和美銀等銀行的員工週五無法登入公司係統。

    對航空公司而言,這次故障導致飛機和地面控制台溝通遇阻,旅客出行受到影響。 FlightAware顯示全球超過21,000個航班延誤。目前,美聯航、達美航空、 美國航空、漢莎航空、法荷航、瑞安航空正在逐步恢復,但速度緩慢。

    供應鏈諮詢公司 Xeneta 的首席空運官 Niall van de Wouw 在與聲明中表示:

    「飛機和貨物不在它們應該在的地方,(這個問題)需要幾天甚至幾週的時間才能完全解決。它提醒大家,我們的海運和空運供應鏈面對IT 故障是多麼不堪一擊。”

    網路安全專業人士稱,

    CrowdStrike的技術是抵禦勒索軟體的有力手段,但其成本(在某些情況下每台機器可能超過50美元),意味著大多數企業不會在所有電腦上安裝,而安裝了該軟體的電腦是最需要保護的計算機,如果它們癱瘓,關鍵服務也會跟著癱瘓。

    倫敦大學學院電腦科學系助理教授Marie Vasek表示,

    「大範圍的電腦崩潰表明,全球技術系統對少數公司的軟體有多麼依賴,包括微軟和CrowdStrike的軟體。這裡的問題是,微軟是每個人都使用的標準軟體,CrowdStrike中的漏洞被部署到每個系統中。

    CrowdStrike還稱,由於該公司在作業系統和生產力軟體方面的市場主導地位,其任何弱點都可能帶來潛在的災難性的影響。

    值得注意的是,這次全球性IT技術故障也導致特斯拉暫停了某些生產線。 7月20日北京時間凌晨1:10分左右,據媒體報道,特斯拉因CrowdStrike造成全球性IT技術故障而暫停某些生產線,公司員工尚未被告知何時才能復工復產。此前北京時間凌晨0:28分左右,馬斯克稱,“我們剛剛從所有系統中刪除了CrowdStrike。”

    問題如何解決?誰來承擔損失?

    CrowdStrike執行長George Kurtz稱,問題癥結已經找到,公司部署了修復程序。除Mac和Linux機器外,任何受到該更新影響而當機的Windows桌上型電腦或筆記型電腦都需要再次更新。

    根據媒體引述的CrowdStrike與一位客戶的溝通中,CrowdStrike的技術支援團隊建議說,可能需要將受影響的系統重啟多達15次。

    保險經紀公司Marsh McLennan稱,超過75家客戶可能會因為CrowdStrike全球性崩潰事件而提出網路故障索賠。

    而對於故障造成的經濟損失程度以及誰會承擔這些損失,在一段時間內還不得而知。據悉,大多數軟體供應商對其程式造成的損害不承擔法律責任,這些程式是授權的,而非出售的。但他們通常與最大的客戶簽訂了服務協議,可能需要幫助補救、給予折扣或其他補償。

    CrowdStrike 在聲明中表示,

    “正在與所有受影響的客戶合作,以確保系統恢復正常運行,並能提供客戶所期望的服務。”

    另外,值得注意的是,還有一起涉及微軟Azure雲端服務的事件也造成了服務中斷。微軟表示,已經解決了根本問題,但用戶仍然會感受到「殘餘影響」。

    有分析稱,目前還不清楚電腦系統崩潰有多少是由 CrowdStrike 軟體更新缺陷引起的,有多少是由周四開始的微軟線上服務及其企業雲端運算服務 Azure 出現的問題引起的。

    但微軟發言人稱,該公司不認為 CrowdStrike 軟體漏洞與影響「部分 Azure 客戶」的中斷有關。

    華爾街怎麼看?

    分析師的態度也各異,Wedbush Securities分析師Dan Ives表示:

    「這對CrowdStrike來說顯然是一個重大的打擊,該股將面臨壓力。…這一事件源於技術更新,而不是駭客或網路安全威脅,這將更令人擔憂。”

    也有分析師認為,雖然週五的事件對CrowdStrike造成了損害,但他們預計競爭對手不會因此事件而奪走太多市場份額。摩根大通的分析師表示:

    “客戶最初會感到不安,但該公司已經接管了這一問題…故障發生了,而且規模很大,但我們認為CrowdStrike的盡職盡責和高效反應將有所幫助。”

    前網路安全投資者、現經營安全新創公司Gusto的Ben Bernstein表示,他計劃暫時繼續使用CrowdStrike。

    值得注意的是,全球宕機引發暴跌之際,「木頭姐」大手筆「抄底」CrowdStrike,當地時間7月19日,木頭姐姐旗下方舟投資透過其ARKW和ARKF ETF逆勢買入了價值約1324萬美元的38595股CrowdStrike股票。

  • 使用PyInstaller創建Python可執行檔

    您已經花費時間創建了一個 Python 應用程序,您希望使用它或將其分發。

    譯自How to Create a Python Executable File With PyInstaller,作者 Jack Wallen。

    您已經花時間創建了一個Python 應用程序,您希望使用它或將其分發給可以從其強大功能中受益的人。您可能認為唯一的方法是將程式碼發送給他們,確保他們在機器上安裝了Python(以及程式碼所需的任何依賴項),並指示他們使用命令python3 appname.py運行程式碼。

    當然,這可以工作,但並不有效率。如果您與可能不太了解 Python 的人共享應用程序,這可能會很麻煩。或者,即使他們了解 Python,您肯定也不希望將程式碼發送給他們並期望他們從命令列運行它。

    相反,為什麼不從您的Python 程式碼創建一個可執行文件,這樣用戶只需雙擊它即可運行應用程序,或者將文件複製到其$PATH 中的目錄並從文件系統層次結構中的任何位置運行命令。

    這就是我今天要向您展示如何做的事情。我們將使用我們先前建立的 Python 應用程式的程式碼(用於獲取使用者的輸入並使用GUI將其寫入檔案)並從中建立一個方便的可執行檔。

    這是一種從 Python 程式碼創建便攜式應用程式的好方法。目標機器唯一的要求是安裝 Python(這是一個相當容易克服的障礙)。

    好的,讓我們開始吧。

    您需要什麼
    要使此方法有效,您需要一台安裝了 Python 的機器以及我們上次建立的範例程式碼。我會在這裡添加程式碼,這樣您就不必搜尋它。我將在 Ubuntu 22.04 上演示此方法,但該過程適用於任何 Linux 發行版(或任何支援 Python 的作業系統)。如果您使用的是其他發行版或作業系統,則需要相應地調整 Pip 安裝過程。

    安裝 Pip
    要安裝 PyInstaller,您必須先確保安裝了 Pip(Python 套件管理器)。您可以使用以下命令檢查 Pip 是否已安裝:

    如果您在控制台中看到版本號,則表示您已準備好。如果您收到錯誤,則需要安裝 Pip,這可以透過以下命令完成:

    sudo apt-get install python3-pip -y
    當上述命令完成後,您就可以繼續了。

    接下來,我們需要安裝PyInstaller,它會讀取您的Python 程式碼,發現您的應用程式運行所需的每個模組和庫,收集所有必要的東西(包括Python 解釋器),並將它們與您的程式碼組合成一個單獨的資料夾或一個單獨的可執行檔。

    若要安裝 PyInstaller,請執行下列命令:

    就是這樣。您已準備好。

    將所有內容捆綁在一起
    我將首先向您展示如何使用 PyInstaller 為您的應用程式建立捆綁包。所有這些都將包含在一個資料夾中,其中包含一個可執行檔和一個包含依賴項的資料夾。

    請記住,我們用於輸入 GUI 的程式碼如下所示:

    讓我們使用以下命令建立一個新目錄:

    使用以下命令變更到該目錄:

    使用以下命令建立 Python 檔案:

    將上面的程式碼貼到該文件中,然後儲存/關閉它。然後,您可以使用以下命令建立捆綁資料夾:

    當命令完成後,使用以下命令變更到 dist 目錄:

    在這個資料夾中,你會找到一個名為 input 的子資料夾,其中包含可執行文件,以及一個名為 _internal 的資料夾。使用cd input命令進入 input 資料夾,然後你可以使用以下命令運行你的應用程式:

    ./input

    輸入 GUI 將會打開,你可以使用該應用程式。

    如果你想以這種方式分發應用程序,你需要將 INPUT_APP/dist/input 資料夾複製給任何需要它的人,他們就可以像你一樣運行它(只要他們的機器上安裝了 Python)。

    有一個更簡單的方法。

    建立單一文件可執行文件
    最好的方法是使用 PyInstaller 建立單一檔案可執行檔。這裡唯一的區別是你在(INPUT_APP 資料夾內)運行的命令,它是:

    pyinstaller –noconsole –onefile input.py

    –noconsole 選項指示 PyInstaller 抑制應用程式啟動時不可避免地開啟的終端窗口,而 –onefile 則告訴 PyInstaller 建立單一檔案可執行檔。

    當此命令完成時,你將在 dist/input 目錄中找到單一檔案可執行檔。然後,你可以將該檔案複製到你的 $PATH 中的目錄(例如 /usr/local/bin)或複製給任何需要該應用程式的人。

    這就是從 Python 程式碼建立可執行檔的所有步驟。使用這種便捷的方法,你的應用程式不僅更容易運行,而且更容易分發給其他用戶。

     

     

  • 週鴻禕談專業選擇:電腦、數學、大數據最基礎有用

    保持好奇心,學歷沒那麼重要

    最近大家總問我關於高考挑大學、選專業的事,我上大學是88年,快35年前了,跟今天情況不太一樣。我也給不了太多具體建議。乾脆開了一場直播,跟大家做一些溝通交流。

    1.上好大學固然重要,沒上大學也不一定是災難。沒考上大學就沒有前途?我個人反對,社會本身也是大學。

    2.高考已經完了,考得好不好就這樣了。沒考上也不代表沒前途。社會本身就是一所大學。關鍵在於找到自己的興趣、擅長的領域、培養自學的能力。

    3.無論上不上大學,都要找到自己愛好的方向有自學的能力。學習應該是終身學習,特別是無監督學習。沒有老師監督,沒有期末考試,也要唸書。學會無監督學習。

    4.有人問我,學歷不重要,為什麼 360 只要 985211 的畢業生?我還特意問了我們 hr,招聘分校招和社招。校招要有標準,否則很難做;但社招就不一樣了,如果一個人都畢業十來年了,嘴上還掛著我是某大學畢業,表示這個人沒有自信也沒有能力。公司招人,不一定有學歷的要求但一定有能力的要求。

    5.360 招人,是不拘一格的。我直播中請的員工也證明了這一點。雖然他們沒有學歷,但在某些方面,證明了他們的能力。可以給大家的借鏡是一定要找到自己的興趣點。

    6.很多人問我大學選什麼專業?我覺得專業不重要。為什麼?第一,社會變化很快,過幾年,熱門可能就不熱門;第二,學對了專業,也不見得就有用,還是要活到老學到老。第三,有些變數例如 A 出現,我們需要尋找新的成長曲線,學習新的專業。

    7.社會快速的變化,讓新專業湧現出來,老專業失效

    8.很多孩子選專業,可能會屈從於父母的建議、但我建議你們,一定要花點時間,自己做做研究我曾經很希望我的孩子學醫,這樣我老了看病有保障。但他寧願開一家咖啡館,也不願意學醫。如果你選的是自己不喜歡的,自己會很不開心。

    9.很多人在誤導我們的孩子,他們把人生選擇定的特別簡單,好像考個試就定終身了。但實際上不是這樣的,人生有很多改命的機會。邁錯一兩步都不重要。誰沒有邁錯過?

    10.好的專業,可能比別人快一點;不好的專業起步絆了兩腳。有句話說人生不要輸在起跑線上這句話我特別反感。人生是一場馬拉松。路還長著呢,先胖不算胖,後胖壓大坑。

    11.偏科很正常,全才很難得。面對偏科,恰恰要把自己的優勢加強,再去尋找機會。

    12.如果讓我一定推薦專業,數學和計算機,肯定是人工智慧的基礎。未來大模型會重塑百行千業對這類人才的需求肯定很大。

    13.想選哪個專業時,可以藉助互聯網,用 360AI搜索,找該專業的學長學姐好好了解一下,

    14.在大學裡面,學到學習的能力、社交的能力是很重要的。

    15.怎麼選專業呢?第一,看你是否喜歡;第二.看你是否擅長;第三,從未來趨勢看,是否有正向發展前途:第四,找學過的人了解下。實在不行,還可以換專業。

    16.學習的動力,不是為了考試,也不是為了讓老師、家長滿意,這個是在大學要完成的轉變。

    17.大學裡,要學會交朋友。大學是一個人從少年變成成年人的過程。在走向社會之前,如果不想被社會的鐵拳暴擊,要培養自己社交的能力。

    18.我認為城市>大學>專業。現在資源都是向大城市聚攏,接觸的人更多,機會更多,眼界閱歷都會增加。

    19.大家作為新生選專業的時候,大多是資訊不對稱。我有個呼籲,大一比較安排通識教育,再給大家一次換專業的機會。

    20.我個人文理結合地比較好。我認為文科未來發展會很好,他們一般寫作能力、表達能力比較強。這些能力都是做領導的能力。我對文科生是比較認可的。

    21.例如我的孩子要報專業,我也會坐下來跟他討論。它是一個綜合的因素。

    22.我最後推薦我的書《超越好奇》。

    週鴻禕還稱,世界已經進入了一個數位化的高速發展階段,萬物金融互聯、數據驅動業務,然後人工智慧來輔助決策。

    當談到什麼職業可能會被人工智慧取代問題時,週鴻禕表示,人工智慧的發展,是以人為本,大模型不應該引發大規模的裁員,而是要幫助企業和政府的員工提升能力和效率,成為最容易用的工具,讓每個普通人都能真正使用。

    週鴻禕認為,將來被淘汰的人,應該是不會使用人工智慧的人,被會使用(人工智慧)的人淘汰,而不是被人工智慧本身所淘汰。

    作者:萬能的大雄

  • 避免網路故障:Cisco ACI 中的 STP 最佳實踐

     网工笔记本

    思科 ACI 是一個大型路由域,不支援傳統 STP 生成樹協議,但可以識別 STP BPDU 封包並對 STP TCN 拓撲變化做出回應。

    處理機制

    ACI 從外部交換器接收到 TCN BPDU,將會在對應介面所屬 EPG flood BPDU。 flood 範圍控制在 EPG,或者說,EPG 相關的 FD VLAN,具體是透過 FD VLAN/VXLAN 關聯的 fabric_encap VNI 來實現。

    STP 可能造成的問題

    upon receiving STP TCN, EPM will flush all EPs behind the VLAN,這個行為會導致接收到 STP TCN 的 EPG,所有 EP 被 flush,重新學習,流量中斷。

    如果不同 EPG,使用 overlapping vlan id,且 vlan id 來源是相同 vlan pool,就會計算相同 fabric_encap VNID,STP flood 範圍就會從單一 EPG 變成兩個 EPG。影響範圍喜加一(這也是不建議 overlapping vlan 的原因之一)

    STP 相關的 best practice
    總結了一些 tips,詳細內容還是建議參考官方文件。 ACI Design Guide[1],unofficial guide 1[2],和 Cisco 論壇[3]

    1. leaf — external switch(eg. N7k),external switch 介面無法設定 bpdufilter 不收不發 BPDU,容易形成環路

    2. leaf — physical server,leaf 介面可以開啟 bpduguard,收到 BPDU 就進入 bpdu-guard-err-disable 狀態,避免誤接 switch

    3. external switch 所有接入 endhost(non-switch) 的接口,都應該打開 portfast/trunk edge,避免接口 flap 產生的 TCN,一路傳遞到 ACI。同時開啟 bpduguard,避免誤接 switch

    4. external switch 在 trunk 接口,只 allow 特定 vlan

    5. external switch 連接 ACI 的接口,應該配置 spanning-tree link-type shared,將 ACI 理解為一個 Hub,並不是默認 STP P2P(兩台 switch 直接對接)。參考文件 STP link-type shared[4]

    6. 建議使用 leaf–VPC / port-channel LACP 形式連接 external switch,避免 STP 的影響

    7. 推薦 VLAN = EPG 的 network centric mode 部署,縮小故障域

    8. BD setting L2 Unknown Unicast 可以設定為 flood,即使 EP 被 flush,也能夠透過 flood 行為轉發。這個方式會增加網路當中的 flood traffic,慎重選擇

    9. 外接 external switch 和 BM local endpoint,建議使用不同 vlan,分割到不同 EPG,避免被連帶影響。

    10. 打開 MCP(MCP default policy:enabled, on intf policy group)

    11. 開啟 Rogue EP control

    12. Catalyst 系列的spanning-tree etherchannel guard misconfig 最好關閉,這個機制是假設Catalyst switch 連接到了同一個設備做EtherChannel 所以收到BPDU 的source mac 應該相同;如果收到不同source mac BPDU 並且超出一定閾值,就會err-disable 介面;在和ACI 對接場景,ACI 作為STP hub,在encap vlan flood BPDU,很容易讓對端Cat err-disable。建議使用 LACP, PagP 來取代 etherchannel guard misconfig。

    透過這些最佳實踐,可以在 Cisco ACI 環境中更好地管理 STP TCN,確保網路穩定性和效能。

    引用链接

    [1] ACI Design Guide: https://www.cisco.com/c/en/us/td/docs/dcn/whitepapers/cisco-application-centric-infrastructure-design-guide.html#MinimizethescopeofSpanningTreetopologychanges
    [2] unofficial guide 1: https://unofficialaciguide.com/2019/03/28/stp-and-aci-intermittent-packet-loss-due-to-tcns/
    [3] Cisco 论坛: https://community.cisco.com/t5/application-centric-infrastructure/apic-issues-excessive-stp-tcn-flushes/td-p/3302890
    [4] STP link-type shared: https://www.cisco.com/c/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/211236-ACI-operation-with-L2-switches-and-Spann.html

     

  • 使用PyInstaller創建Python可執行檔

    岱军 云云众生s

    您已經花費時間創建了一個 Python 應用程序,您希望使用它或將其分發。

    譯自How to Create a Python Executable File With PyInstaller,作者 Jack Wallen。

    您已經花時間創建了一個Python 應用程序,您希望使用它或將其分發給可以從其強大功能中受益的人。您可能認為唯一的方法是將程式碼發送給他們,確保他們在機器上安裝了Python(以及程式碼所需的任何依賴項),並指示他們使用命令python3 appname.py運行程式碼。

    當然,這可以工作,但並不有效率。如果您與可能不太了解 Python 的人共享應用程序,這可能會很麻煩。或者,即使他們了解 Python,您肯定也不希望將程式碼發送給他們並期望他們從命令列運行它。

    相反,為什麼不從您的Python 程式碼創建一個可執行文件,這樣用戶只需雙擊它即可運行應用程序,或者將文件複製到其$PATH 中的目錄並從文件系統層次結構中的任何位置運行命令。

    這就是我今天要向您展示如何做的事情。我們將使用我們先前建立的 Python 應用程式的程式碼(用於獲取使用者的輸入並使用GUI將其寫入檔案)並從中建立一個方便的可執行檔。

    這是一種從 Python 程式碼創建便攜式應用程式的好方法。目標機器唯一的要求是安裝 Python(這是一個相當容易克服的障礙)。

    好的,讓我們開始吧。

    您需要什麼
    要使此方法有效,您需要一台安裝了 Python 的機器以及我們上次建立的範例程式碼。我會在這裡添加程式碼,這樣您就不必搜尋它。我將在 Ubuntu 22.04 上演示此方法,但該過程適用於任何 Linux 發行版(或任何支援 Python 的作業系統)。如果您使用的是其他發行版或作業系統,則需要相應地調整 Pip 安裝過程。

    安裝 Pip
    要安裝 PyInstaller,您必須先確保安裝了 Pip(Python 套件管理器)。您可以使用以下命令檢查 Pip 是否已安裝:

    如果您在控制台中看到版本號,則表示您已準備好。如果您收到錯誤,則需要安裝 Pip,這可以透過以下命令完成:

    sudo apt-get install python3-pip -y
    當上述命令完成後,您就可以繼續了。

    接下來,我們需要安裝PyInstaller,它會讀取您的Python 程式碼,發現您的應用程式運行所需的每個模組和庫,收集所有必要的東西(包括Python 解釋器),並將它們與您的程式碼組合成一個單獨的資料夾或一個單獨的可執行檔。

    若要安裝 PyInstaller,請執行下列命令:

    就是這樣。您已準備好。

    將所有內容捆綁在一起
    我將首先向您展示如何使用 PyInstaller 為您的應用程式建立捆綁包。所有這些都將包含在一個資料夾中,其中包含一個可執行檔和一個包含依賴項的資料夾。

    請記住,我們用於輸入 GUI 的程式碼如下所示:

    import sys
    from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout

    class UserInputApp(QWidget):
    def __init__(self):
    super().__init__()
    self.init_ui()

    def init_ui(self):
    self.setWindowTitle(‘User Input App’)
    self.setGeometry(100, 100, 400, 200)
    self.label = QLabel(‘Enter text:’)
    self.text_input = QLineEdit()
    self.save_button = QPushButton(‘Save to File’)
    self.save_button.clicked.connect(self.save_to_file)
    layout = QVBoxLayout()
    layout.addWidget(self.label)
    layout.addWidget(self.text_input)
    layout.addWidget(self.save_button)
    self.setLayout(layout)

    def save_to_file(self):
    text = self.text_input.text()
    with open(‘user_input.txt’, ‘a+’) as file:
    file.write(text + ‘\n’)
    print(‘Text saved to file.’)

    if __name__ == ‘__main__’:
    app = QApplication(sys.argv)
    window = UserInputApp()
    window.show()
    sys.exit(app.exec_())

    讓我們使用以下命令建立一個新目錄:

    使用以下命令變更到該目錄:

    使用以下命令建立 Python 檔案:

    將上面的程式碼貼到該文件中,然後儲存/關閉它。然後,您可以使用以下命令建立捆綁資料夾:

    當命令完成後,使用以下命令變更到 dist 目錄:

    在這個資料夾中,你會找到一個名為 input 的子資料夾,其中包含可執行文件,以及一個名為 _internal 的資料夾。使用cd input命令進入 input 資料夾,然後你可以使用以下命令運行你的應用程式:

    ./input

    輸入 GUI 將會打開,你可以使用該應用程式。

    如果你想以這種方式分發應用程序,你需要將 INPUT_APP/dist/input 資料夾複製給任何需要它的人,他們就可以像你一樣運行它(只要他們的機器上安裝了 Python)。

    有一個更簡單的方法。

    建立單一文件可執行文件
    最好的方法是使用 PyInstaller 建立單一檔案可執行檔。這裡唯一的區別是你在(INPUT_APP 資料夾內)運行的命令,它是:

    pyinstaller –noconsole –onefile input.py

    –noconsole 選項指示 PyInstaller 抑制應用程式啟動時不可避免地開啟的終端窗口,而 –onefile 則告訴 PyInstaller 建立單一檔案可執行檔。

    當此命令完成時,你將在 dist/input 目錄中找到單一檔案可執行檔。然後,你可以將該檔案複製到你的 $PATH 中的目錄(例如 /usr/local/bin)或複製給任何需要該應用程式的人。

    這就是從 Python 程式碼建立可執行檔的所有步驟。使用這種便捷的方法,你的應用程式不僅更容易運行,而且更容易分發給其他用戶。

  • OTN技术在5G网络中扮演什么角色?

    OTN,即Optical Transport Network(光傳輸網路),是一種基於光纖通訊技術的網路架構,用於實現光訊號的傳輸和交換。 OTN技術具有高速傳輸的特點,可滿足大容量網路的頻寬需求,為寬頻接取網路和光纖網路的改造提供強力支撐。它廣泛應用於各大營運商的幹線傳輸網路建設,推動了相關業務的發展 。

    OTN技術可以支援客戶訊號的透明傳送、高頻寬的複用交換和配置,具有強大的開銷支援能力,提供強大的操作、管理和維護(OAM)功能,支援多層嵌套的串聯連接監視(TCM )功能、具有前向糾錯(FEC)支援能力。

    OTN的組成部分包括光傳輸設備、光傳輸介質、光傳輸協定和網路管理系統。光傳輸設備如光放大器、光開關、光解復用器等,負責處理和調控光訊號的傳輸;光傳輸介質即光纖,具有低損耗、高頻寬和長距離傳輸的特性;光傳輸協定定義了OTN中光訊號的傳輸格式和處理規則,常用的標準為ITU-T G.709;網路管理系統用於監控和管理OTN網路的運作狀態和效能。

    OTN的工作原理涉及光訊號的調變、傳輸、解復用、交換和路由、再調變、資料處理和傳輸,以及網路管理和監控。 OTN網路的管理和監測確保了其正常運作和效能最佳化 。

    OTN的應用場景廣泛,包括營運商網路、資料中心互聯、行動通訊網路、企業網路、網際網路骨幹網路和科學研究網路等。它提供高速、低延遲和可靠的資料傳輸,滿足不同應用場景的需求 。隨著技術的發展,OTN正在逐步下沉到移動城域傳輸網路的建設中,用於滿足傳輸網路大寬頻、大容量的業務需求,不斷提高光纖芯的利用率 。

    OTN技術在5G網路中扮演著至關重要的角色,主要體現在以下幾個方面:

    1. **大頻寬和低時延需求滿足**:5G網路的三大應用情境eMBB(增強行動寬頻)、URLLC(超高可靠低時延通訊)和mMTC(海量物聯網)對承載網路提出了大頻寬、低時延等要求。 OTN技術以其高頻寬、低延遲的特性,能夠滿足5G網路對傳輸速度和時延的嚴苛要求 。

    2. **統一承載解決方案**:OTN技術可以為5G網路提供綜合承載解決方案,實現5G、固定寬頻、雲端和政企專線等業務的統一承載。透過在匯聚機房集中部署無線集中設備,分組OTN設備可以將前傳流量匯集到節點無線設備,同時支援路由轉送功能將中傳回傳業務上傳到上層承載設備 。

    3. **技術創新與標準化**:在5G時代,OTN技術的標準化與技術創新不斷推進。例如,M-OTN(Mobile-Optimized OTN)技術,就是專為5G設計的OTN技術,它透過簡化映射復用結構和優化FEC演算法,匹配低成本的光模組,以適應5G前傳、中傳和回傳的不同需求。

    4. **高精度時間同步**:5G網路對時間同步精度提出了更高的要求,OTN技術透過帶內和帶外兩個方向提升精度,以滿足5G網路對超高精度時間同步的需求。

    5. **智慧化與網路切片支援**:OTN技術結合SDN和AI技術,支援網路智慧化,能夠實現業務快速配置下發、跨廠商調度及快速開通,同時支援靈活的網路切片技術,滿足5G網路多場景、多租戶的應用需求。

    6. **降低建網成本和提升服務品質**:透過開放解耦及高效管理,OTN技術有助於降低建網成本並提升服務質量,打造良性競爭的生態環境,符合運營商的長遠利益。

    綜上所述,OTN技術在5G網路中的應用,不僅能夠提供必要的頻寬和時延保證,還能夠透過技術創新和智慧化管理,滿足5G網路的多樣化需求,為營運商建構高效可靠的5G網路提供支援。

     

  • 四問四答,徹底看懂智算中心!

     小枣君 鲜枣课堂

    到底什麼是智算中心?

    智算中心,就是以人工智慧運算任務為主的資料中心。

    資料中心通常包含三種類別,除了智算中心以外,另外兩種分別是以通用計算任務為主的通算中心,以及以超級運算任務為主的超算中心。

    自2023年以來,以ChatCPT、Sora為代表的AIGC大模型橫空出世,掀起了一股席捲全球的AI浪潮。

    想要在AI浪潮中佔優勢,就必須擁有強勁的AI算力支撐。智算中心,作為AI算力的核心基礎設施,逐漸成為人們關注的焦點,也是產業重點建設的對象。

    根據數據顯示,我國目前已經有包括武漢、成都、長沙、南京、呼和浩特等在內的20多個城市建設了智算中心。至2025年,國內智算中心數量將超過50個。

    這些智算中心採用專門的AI算力硬件,適合高效運行AI演算法。它們可以應用於電腦視覺、自然語言處理、機器學習等領域,處理圖像辨識、語音辨識、文字分析、模型訓練推理等任務。

    █ 智算伺服器,到底有什麼不同?

    智算伺服器是智算中心的主要算力硬體。它和傳統通用伺服器最大的差別,在於算力晶片的不同。

    傳統通用伺服器以CPU為主要晶片,有的配置了GPU(圖形處理單元)卡,也有的沒配。即便配置了,也數量不多(1-2塊),以完成傳統圖形處理任務(3D圖形渲染等)為主。

    智算伺服器,為了保證的作業系統運行,也配置了CPU。但是,為了更好地完成AI計算任務,所以配置了更多的GPU、NPU(神經網路處理單元)、TPU(張量處理單元)等計算晶片(4塊或8塊),以這些晶片輸出的算力為主。

    這種「CPU+GPU」、「CPU+NPU」的架構,也稱為「異構運算」架構,能夠充分發揮不同算力晶片在效能、成本和能耗上的優勢。

    GPU、NPU、TPU的核心數量多,擅長平行運算。 AI演算法涉及大量的簡單矩陣運算任務,需要強大的平行運算能力。

    在實際使用中,GPU、NPU、TPU會做成闆卡的形態,插入到智算伺服器的插槽中。等伺服器上電啟動後,再根據調度執行計算任務。

    除了晶片不同之外,為了充分發揮效能以及保障穩定運行,AI伺服器在架構、儲存、散熱、拓樸等方面也進行了強化設計。
    例如,智算伺服器的DRAM容量通常是普通伺服器的8倍,NAND容量是普通伺服器的3倍。甚至它的PCB電路板層數也明顯多於傳統伺服器。
    瘋狂堆料,肯定也會帶來兩者之間的成本差異。一台智算伺服器的價格,可能會​​達到傳統通用伺服器的數十倍以上。
    不久前,中國移動公示了2024年至2025年新型智算中心集採得標結果,採購智算服務器總規模達到8054台,中標總金額達到了約191.04億元人民幣(不含稅)。平均下來,每台的價格是237.2萬元。通用伺服器的價格,根據品牌和配置的不同,大約在1到10萬元之間。
    受算力闆卡的影響,智算伺服器的功耗也明顯大於通用伺服器。
    以英偉達GPU為例,A100單卡功耗400W,H100單卡功耗700W。配置了8張GPU的智算伺服器,光是GPU的熱功耗就能達到3.2~5.6 kW。傳統通用伺服器的話,也就0.3~0.5 kW左右。
    從外型來看,智算伺服器和通用伺服器並沒有很大的差別。兩者都是標準架構,可以放入42U標準機架。如果內建了較多的AI算力闆卡,智算伺服器的厚度可能會稍微大一些,達到4U、5U甚至10U。
    這裡要注意,根據工作任務的不同,智算伺服器也會分為訓練伺服器、推理伺服器或訓推一體伺服器。這些伺服器在架構和體型上會存在一些差異。一般來說,訓練伺服器會比推理伺服器更龐大一些(AI算力闆卡更多)。
                                                                                                                    智算(訓練)伺服器外觀(中興通訊)

    數據也可以說明問題。

    雖然說AI智算發展迅速,但從機架數量規模來看,遠不如通算中心。

    根據今年3月國家數據局在青海綠色算力推介會上揭露的數據,截至2023年底,全國在用數據中心機架總規模超過810萬標準機架(包括所有類型數據中心)。

    智算中心機架數,目前沒有準確的資料來源。我們可以推算一下。

    前面提到,到2025年,國內會有50個智算中心。以中國移動呼與浩特超大規模單體智算中心為例,部署伺服器總規模約2,950台,部署機架總規模為799架,算力闆卡1.9萬張,算力規模6.7EFLOPS。就算是50個智算中心都像呼和浩特這麼大,也是50×800=40000個機架。還不到2023年全國在用資料中心機架總數的零頭。

    我們也可以從算力規模來計算。根據信通院的報告,到2025年,全國的算力總規模將達到320EFLOPS。其中,智算算力佔比要達到35%,也就是說,112EFLOPS。依呼和浩特智算中心的數據,單機架平均算力是6.7÷800=0.008375EFLOPS。 112EFLOPS就是112÷0.008375=13373個機架。

    之所以會這樣,還是因為AI智算伺服器的算力比較強。雖然智算算力總體佔比看起來高,但機架數量和資料中心數量佔比並不會那麼多,估計不會超過10%。

    █ 通算中心改成智算中心,可行嗎?

    如今,在「雙碳」政策的指引下,新建資料中心核准趨嚴,現有合規資料中心資產稀缺。那麼,是否可以把通用資料中心改為智算中心呢?

    答案是肯定的。

    資料中心的使命,是為伺服器託管提供穩定的冷卻和供電環境。通算中心和智算中心都是資料中心,兩者的主要組成基本上是一致的。

    一般來說,伺服器等IT算力設備以及交換器等通訊設備,屬於客戶自有資產,由客戶提供。資料中心服務商,負責建置與運作能夠確保伺服器等主設備正常運作的底層基礎支撐設備(也叫配套設備)。

    資料中心樓宇佈局內的底層基礎支撐設備設施,依照業界的劃分,包括風(冷凍)、火(消防)、水(防潮)、電力(市電、不間斷電源、柴發)四大部分。或者,也可以分為供電系統、不間斷電源系統、終端配電系統、電源輔助系統和空調系統等。

    如下圖所示:

    图片来源:通信电源人

    前面我們提到,智算伺服器的功耗比通用伺服器高。在智算中心,單機櫃功率密度通常也會高於傳統資料中心。根據相關機構的數據,智算中心的單機櫃功率密度需要超過30kW,甚至達到100kW以上,而傳統資料中心的密度一般在6kW~15kW之間。

    智算中心的單機櫃功率密度高,改造為智算中心,要事先將資料中心的整體供電能力重新計算與設計。

    如果不需要擴容,那就簡單了。整個改造就以末端改造為主,就是撤掉傳統通用伺服器,重新上架智算伺服器以及相關網路設備,重新佈線。
    如果需要擴容,意味著同樣的面積下,機櫃產出更多,改造涉及到供電和製冷系統相關配套設備的採購和安裝,會帶來更多的工作量,也需要更長的改造週期。

    擴容改造也肯定會帶來一些成本負擔。是否需要將傳統通算中心改造為智算中心,除了前面提到的限制新建等客觀因素外,就是看投入產出比。也就是說,改造後的智算中心,是否能帶來更大的經濟效益回報。

    █ 最後的話

    資料中心是重要的ICT基礎設施,也是整個社會的算力底座。它源源不絕地輸出算力,滿足我們數位生活的需要,也支撐了千行百業的發展。

    隨著時間的推移,AI浪潮將會從狂熱回歸理性,智算中心的建設也會趨緩。如何充分利用好已有的智算資源,讓AI產生價值回報,將會成為更重要、更迫切的任務。

    合理佈局通算、智算以及超算,建構多種算力類型協同發展的格局,將為數位經濟的起飛奠定更牢靠的基礎,也會推動了整個社會加速邁入智慧時代。