顯卡AI演算法
Ⅰ 手機上用的中低端顯卡都能拿來做AI演算法運算嗎
算力太低了,不適合ai運算,只能類似於845的協同ai演算法
Ⅱ 怎麼去調用百度ai顯卡
網路AI開放平台- API實戰調用
一、 前言
首先說一下項目需求。
兩個用戶,分別上傳了兩段不同的文字,要計算兩段文字相似度有多少,匹配資料庫中的符合條件的數據,初步估計列出來會有60-100條左右,不會更多,只會更少。最終的需求是:從這些匹配結果中找到相似度較高的那些條目。
自己編寫演算法來實現是一個很大的工程,涉及到自然語言處理的一些方面,比較復雜。於是上網搜了搜,發現網路開放平台的自然語言處理可以免費調用,而且每天有10W的調用次數,對我的小項目來說正好滿足。但是,在往下翻的時候,發現網路給了提示,不保證並發,也就是說,在我調用的時候很容易出現返回錯誤結果的情況,這部分需要進行適當的處理。
既然是實戰,我們從頭開始說。
二、 准備工作
從哪裡開始說呢,從在網路開放平台創建一個應用說起。創建應用之後(下面的開發環境是php,所以在選擇應用使用類型的時候填寫HTML),會有應用的ID,key,secret。後兩個參數接下來會有用。
我使用的是短文本相似度API,其他類型的功能與此基本一模一樣(不接受抬杠)。先去看開發文檔http://ai..com/docs#/NLP-API/top可以看到提供了兩種調用方式,這里我們以調用方式一為例-向API服務地址使用POST發送請求,這種方式來實現上述功能。看描述,需要一個參數叫做access_token,原文也提供了其獲取方式。以獲取短文本相似度的access_token為例子:
https://aip.bce.com/oauth/2.0/token?grant_type=client_credentials&client_id=MzRN******Txgske3QRf5Yj69&client_secret=a30CAbc*****bDuuGLdHLeyRaZk1tq5&
其中一共涉及三個參數,第一個固定為client_credentials不要改變。
第二第三個分別為前面獲取到的key,secret。
把這一串地址放在地址欄中,回車即可返回json格式的字元串,找到access_token復制存在一個文件中,留著備用。
注意:復制地址的時候,中間可能會帶有空格,一定要刪去。特別是復制開發文檔中的那段代碼的時候,帶有空格,是得不到返回結果的。可以復制我的這一段地址則沒有問題。
三、 動手
下面開始編寫PHP代碼。整個過程我們只需一個文件就好。
PHP可以使用curl來請求url參數。在開發文檔中,說明了要傳參access_token以及要把請求文本以json格式傳過去(編碼是GBK)。下面是代碼:
$access_token = "24..2592000.1507883636.282335-10044457";
$url = "https://aip.bce.com/rpc/2.0/nlp/v2/simnet?access_token=" . $access_token;
$body=array(
"text_1"=>"我在二舍B門口看到一床被子,應該是哪位同學忘記收走了,記得來取哦。",
"text_2"=>"信息A門口有一輛自行車,黃色的,沒上鎖,請失主前去認領。"
);
$json_data=json_encode($body);
這段代碼及時實現了上述功能。在把$body轉為json格式的時候,已經默認把中文從UTF8轉到GBK了,無需另外的操作。
$curl=curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $dataArray[$i]);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//取消SSL鑒權驗證
最後這個取消SSL鑒權驗證是必須的,否則會報錯!
$result = curl_exec($ch);
//var_mp($result);
$json = iconv("gb2312", "UTF-8", $result);//返回格式是中文GBK編碼,需要轉為UTF8
輸出$json則可以看到返回結果。
但是上述過程僅僅實現了一條記錄的相似度匹配,怎麼實現多條呢?使用循環???NO!NO!NO!自己去測試一下如果同時10條url請求,會發生什麼事情。好吧答案是:結果正確返回。。但是返回時間非常慢,因為10條請求是順序執行的,不會並行。所以下面的問題就是要解決並行問題。
四、 解決並行問題以及QPS並發問題
說一個大家都知道的不好的消息,就是PHP本身是不支持多線程的。有木有想死的感覺??
再說一個好消息,curl是可以並行處理多個url請求來模擬多線程的,這點非常好,啪啪!30條url請求同時發送,最終時間取決於最慢的那個請求。但是這個結果也非常棒了好不好。
下面是先是代碼(我做了20條數據(文字內容都是一樣的,其實一不一樣無所謂)):
<?php
header('content-type:text/html;charset=utf8');
$localtime=date('y-m-d H:i:s',time());
echo "開始時間:".$localtime;
$access_token = "24.a810b4be2b5*******************507883636.282335-10044457";
$url = "https://aip.bce.com/rpc/2.0/nlp/v2/simnet?access_token=" . $access_token;
$body=array(
"text_1"=>"我在二舍B門口看到一床被子,應該是哪位同學忘記收走了,記得來取哦。",
"text_2"=>"信息A門口有一輛自行車,黃色的,沒上鎖,請失主前去認領。"
);
$json_data=json_encode($body);
$dataArray=array();
for($i=0;$i<160;$i++){
array_push($dataArray,$json_data);
}
$jsonResultArray=array();
mFunction($url,$dataArray,$jsonResultArray);
/*$jsonResultArray=func($url,$json_data);//存儲返回的json數組*/
function mFunction($url,$dataArray,&$jsonResultArray){
$multicurl=curl_multi_init();
$curls=array();//存放所有的ch對象
for($i=0;$i<count($dataArray);$i++){
$curl=curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $dataArray[$i]);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//取消SSL鑒權驗證
curl_multi_add_handle($multicurl,$curl);
array_push($curls,$curl);
}
/* $running = null;
do {
$mrc = curl_multi_exec($multicurl, $running);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($running && $mrc == CURLM_OK) {
if (curl_multi_select($multicurl) != -1) {//$mh批處理中還有可執行的$ch句柄,curl_multi_select($mh) != -1程序退出阻塞狀態。
do { //繼續執行需要處理的$ch句柄。
$mrc = curl_multi_exec($multicurl, $running);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}*/
$running = null;
// 執行批處理句柄
do {
usleep(10000);
curl_multi_exec($multicurl, $running);
} while ($running > 0);
$failArray=array();
for($i=0;$i<count($dataArray);$i++){
$temp=iconv("gb2312", "UTF-8", curl_multi_getcontent($curls[$i]));//得到的是返回結果的json格式字元串
$resultarray=json_decode($temp);//得到一個數組
if(array_key_exists("error_msg",$resultarray)){//出錯則重新發送請求,最後得到的結果要賦值給temp
array_push($failArray,$dataArray[$i]);
curl_multi_remove_handle($multicurl, $curls[$i]);
}else{
array_push($jsonResultArray,$temp);
curl_multi_remove_handle($multicurl, $curls[$i]);
}
}
if($failArray!=null){//如果$failArray數組不為空,繼續調用func()
curl_multi_close($multicurl);
mFunction($url,$failArray,$jsonResultArray);//$url,$json_data,&$jsonResultArray
}else{//如果$failArray數組為空,return 即可退出函數。
curl_multi_close($multicurl);
return;
}
}
for($i=0;$i<count($jsonResultArray);$i++){
var_mp($jsonResultArray[$i]);
}
$localtime=date('y-m-d H:i:s',time());
echo "結束時間:".$localtime;
上面這段代碼,沒錯就是全部代碼都貼出來了,注釋也可以看。代碼中一道都把並發帶來的問題都解決了。
curl_multi_init(); 的用法不多說,上網查到處都是,可以去菜鳥教程看。下面說一說處理QPS的問題。
因為並行提交速度太快,伺服器容易達到QPS限制,就會返回錯誤代碼:
'{"error_msg":"Open api qps request limit reached","error_code":18}' (length=66)
沒什麼好的解決方式,要想免費使用,我的方案是,對返回結果檢測是否存在error_msg只要存在,就得重新發送請求。返回結果正常呢,就把返回結果現存人數組中。在處理重新發送請求部分,使用了函數迭代,直到沒有錯誤信息才結束調用。最終所有的正確結果都存在數組中了。
五、 測試結果
經測試:
測試數據條目以及對應的響應時間,從結果來看,還是可以接受的。
/*
* 20條=>1s
*
*40條=>3s
*
* 80條=>7s
*
* 160條=>16s
* */
文章是昨晚上熬夜寫的,沒想到學校突然斷網斷電,斷電不可怕,重要的是電沒了,手機移動網路也跟著消失……消失……失……
Ⅲ 21tops算力相當於什麼顯卡
英偉達的一個Jetson Xavier NX就是21tops算力。
11月7日,英偉達宣布推出全球尺寸最小的邊緣AI超級計算機Jetson Xavier NX,主要面向機器人和邊緣嵌入式計算設備。這款新品擁有比信用卡還小的外形,節能型Jetson Xavier NX模塊在運行AI工作負載時,可提供最高21 TOPS的伺服器級性能,售價399美元,即將在2020年3月開始出貨。英偉達推出更具競爭力的邊緣AI晶元產品,讓AI初創公司們面臨更大的競爭壓力。
英偉達邊緣AI晶元已經有四個系列
今天發布的Jetson Xavier NX最大的亮點在於,與Jetson Nano尺寸相同(70X45mm)的情況下,能夠在功耗10W的模式下提供最高14TOPS,在功耗15W模式下最高21 TOPS的性能。另外,Jetson Xavier NX能夠並行運行多個神經網路,也能同時處理來自多個高解析度感測器的數據。
Jetson Xavier NX模塊具體的規格如下:
GPU:配備384個 NVIDIA CUDA core和48 個Tensor core的 NVIDIA Volta,外加2個NVDLA
CPU:6-core Carmel Arm 64位CPU, 6MB L2 + 4MB L3
視頻:2x 4K30 編碼和2x 4K60解碼
攝像頭:最多6個 CSI攝像頭(通過虛擬通道最多36個),12路(3x4或6x2) MIPI CSI-2
內存:8GB 128位LPDDR4x;51.2GB/秒
連接:千兆乙太網
OS支持:基於Ubuntu的 Linux
模塊尺寸:70x45mm
Jetson Xavier NX面向的是對性能需求高,但受到尺寸、重量、功耗以及預算限制的嵌入式邊緣計算設備,比如小型商用機器人、無人機、智能高解析度感測器(用於工廠物流和生產線)、光學檢測、網路錄像機,攜帶型醫療設備以及其他工業物聯網(IoT)系統。
為了滿足這些場景,除了硬體外,軟體支持也非常重要。英偉達表示,對於已經開始打造嵌入式計算機的公司,Jetson Xavier NX與所有Jetson系列產品一樣都可以在相同的CUDA-X AI軟體架構上運行。同時,作為NVIDIA軟體架構方法的一部分,Jetson Xavier NX由NVIDIA JetPack SDK提供支持。
NVIDIA JetPack SDK是一個完整的AI軟體堆棧,可以運行復雜的AI網路,並用於深度學習的加速庫以及計算機視覺、計算機圖形、多媒體等。
Jetson Xavier NX的上一款產品是在今年3月的GTC發布,英偉達創始人兼 CEO 黃仁勛宣布推出售價僅99美元的Jetson Nano。根據官方的說法,藉助CUDA-X,Jetson Nano可以提供472 GFLOPS的AI性能,功率低至5W。這款售價不高,能夠運行所有AI模型的邊緣計算平台發布後獲得了極大的關注。
Jetson Nano的上一款產品在去年發布。去年九月的日本GTC,黃仁勛公布了AGX陣容,包括Drive Xavier和新推出的Drive Pegasus,還有Jetson AGX Xavier。Jetson AGX Xavier的大規模計算性能可以處理機器人至關重要的測距、定位、測繪、視覺和感知以及路徑規劃。
Jetson家族更早的產品Jetson TX2在2017年推出,提供兩種運行模態:一種是MAX Q,這種模態下能效比能達到最高,是TX1的2倍,功耗在7.5W以下;另一種是MAX P,性能可以做到最高,能效比同樣可以做到前一代的2倍,功耗則在15W以下。
雖然推出的時間不同,但他們都具有一個區別於其他邊緣SoC的特點,並行運行多個神經網路。
邊緣端實力增強,初創公司面臨更大生存壓力
英偉達在雲端AI晶元市場獲益頗豐,其中非常重要的原因就是擅長並行計算的GPU能夠在在數據中心的各種模型中訓練時體現出性能優勢。雖然憑借雲端AI晶元成為了眾多AI晶元初創公司想要超越的目標,但英偉達也有自己的困擾。首先,為AI優化和設計的高性能GPU價格昂貴,讓不少開發者望而卻步。
其次,隨著AI演算法的逐步成熟,雲端AI訓練晶元市場的增速將會放緩,英偉達想要保持業績的增長以及在AI市場的領導力,就需要向邊緣AI市場拓展,同時,用雲端加邊緣一體化的解決方案吸引更多客戶。
從面向終端和邊緣設備的Jetson系列晶元的布局來看,英偉達早已明白自己該怎麼做。如今,Jetson系列晶元算力從0.5TFlops到32TOPS,應用覆蓋小型嵌入式設備、智能汽車、工業設備等多種應用。今天高性能小尺寸Jetson Xavier NX發布,讓Jetson家族能夠提供性能和功耗更加多樣的邊緣晶元,這背後就是為了滿足AIoT市場多樣化的市場需求。
不過,更應該看到的是,英偉達如今不僅能夠提供雲端和終端AI晶元硬體,其成功背後還有強大的軟體生態的支撐。據雷鋒網了解,Jetson系列已經吸引了40萬的開發者,擁有了3000用戶。
這對於AI晶元的初創公司而言顯然不是一個好消息,由於雲端AI晶元更加依賴生態,晶元的設計難度也更大,所以大部分AI晶元的初創公司都選擇在邊緣端市場,並且大都主要提供AI加速器。AI晶元初創公司們希望憑借獨特的架構設計以及領先的性能指標的晶元獲得市場的認可。
然而,開發者在進行AI演算法遷移的時候往往需要使用AI晶元公司提供的編譯器等工具,這不僅會增加軟體開發者的使用門檻,還可能達不到預期的效果。因此,初創公司的AI晶元大部分都沒有得到非常有價值的應用。
這就意味著,AI晶元初創公司們在產品設完成並流片之後,如何找到合適的市場以及模式進行商業化變得非常關鍵,特別是在資本寒冬以及AI晶元進入落地戰的當下。
顯然,AI晶元初創公司們面臨著更加嚴峻的生存挑戰,一方面,無論是英偉達還是英特爾,他們在雲端和邊緣端都已經有競爭力很強的產品,在邊緣端,憑借軟體生態以及渠道的優勢,巨頭們的晶元更容易獲得客戶,甚至連擅長軟體的Google都推出了面向邊緣市場的Google Edge TPU。另一方面,AI晶元初創公司想要推出有競爭力的產品就必須不斷迭代和投入,這就需要資金的持續支持,但融資環境以及更加激烈的市場競爭又增加了融資的難度。
正如雷鋒網在今年3月份的文章中指出的,AI晶元的戰火已經蔓延至邊緣端,Jetson Xavier NX的推出不僅是英偉達邊緣端AI晶元布局的完善和實力的進一步增強,更是邊緣端晶元市場競爭更加激烈的標志。
AI晶元市場更加激烈的競爭有助於推動AI的向前發展,但對於實力較弱的AI晶元初創公司而言,隨著晶元巨頭們更有競爭力產品的推出,以及像英偉達這樣的公司更願意稱自己為系統公司,而非單純的晶元公司,這讓AI晶元初創公司面臨著更加嚴峻的生存挑戰。
Ⅳ 請問一下顯卡中的2070、2070s、2070Max-Q,它們都有什麼區別,差距在哪裡
2070s的處理器運算速度是100,而和2070mxq的處理器運算速度是200,區別在於處理器性能等級不一樣
戲中的實時光線追蹤技術
光線追蹤可提供接近現實體驗的光照、反射和陰影等效果,營造的畫面逼真度遠超過傳統渲染技術。Turing 正是可實現實時光線追蹤的開創性 GPU。
強大的 AI 增強圖形技術
人工智慧正在推動這一史上最偉大的技術進步,而 Turing 已將其應用於計算機圖形領域。搭載 Tensor Core,可提供 AI 計算性能,其可以實時運行強大的 AI 演算法,打造難以置信的清晰明快、栩栩如生的畫面和特效。
先進的著色技術
可編程著色器定義了現代顯卡。Turing GPU 採用先進的著色技術,具有強大的功能和靈活高效的特性。結合超高速 GDDR6 顯存,能讓您在更高設置下,以更高幀率暢享極速游戲體驗。
澎湃動力 鋒芒盡顯
全新 NVIDIA GeForce RTX SUPER™ 系列核心更多、時鍾頻率更高,其性能較 RTX 20 系列提升最高可達 25%,與上一代 10 系列 GPU 相比,性能最高可達 6 倍1。革新裝備正當其時,澎湃動力鋒芒盡顯。
革新設計
原廠超頻的 GeForce RTX 2070 Founders Edition 採用新一代 6 相供電技術,可確保提供更大的超頻空間;而新款均熱板及雙軸 13 葉風扇則能令顯卡運行得更加「冷靜」和安靜。
NVIDIA® GeForce® RTX 2070 SUPER™ 採用了屢獲殊榮的 NVIDIA Turing™ 架構,擁有核心更多、時鍾速度更快的超快速 GPU,助您在工作中充分激發創造力,在游戲中所向披靡。革新裝備正當其時,澎湃動力鋒芒盡顯。
NVIDIA TURING
NVIDIA Turing 是非常先進的 GPU 架構,集新一代著色器、實時光線追蹤技術和 AI 增強圖形特性於一身,其性能最高可達上一代 Pascal GPU 的 6 倍之多1,可以說創造了鄰代提升的新記錄!
最高可達6 倍性能提升1
實時光線追蹤技術引入游戲
強大的AI 增強圖形技術
Ⅳ 演算法做象棋還是很笨而且很卡,有沒有好的AI演算法效率
電腦在運行游戲時是否卡頓與CPU、顯卡、內存的硬體性能與設置息息相關。
假設當前電腦運行時灰塵較多、散熱不好導致機箱內溫度升高,當溫度高到一定程度時CPU就會自動降頻來達到物理散熱的目的,此時如果正在運行游戲就會感到明顯的卡頓,因為電腦硬體性能下降了。
若想更換零件升級電腦,首選更換CPU、顯卡、內存,如果不想換件,可在游戲內調低顯示效果,關閉特效、陰影、垂直同步和抗鋸齒,卡頓等異常現象會有明顯改善。
Ⅵ RTX系列顯卡的AI運算有什麼用
在Tensor Core上利用近似演算法加速某些過去處理起來成本比較高的東西。比如提高清晰度,比如讓光線追蹤的結果能看。
Ⅶ 筆記本電腦顯卡1650可以做ai計算嗎
筆記本電腦GTX1650 4G獨立顯卡是可以用來做Ai計算的,不過這個顯卡運算能力一般,畢竟是玩游戲的獨立顯卡,所以做Ai效果不是很好但是用是沒問題的,