0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

騰訊微信翻譯團(tuán)隊(duì)開(kāi)源的人工智能圍棋項(xiàng)目 PhoenixGo

MqC7_CAAI_1981 ? 來(lái)源:未知 ? 作者:李倩 ? 2018-05-15 11:29 ? 次閱讀

本文介紹了騰訊微信翻譯團(tuán)隊(duì)開(kāi)源的人工智能圍棋項(xiàng)目 PhoenixGo,該項(xiàng)目是對(duì) DeepMindAlphaGo Zero論文《Mastering the game of Go without human knowledge》的實(shí)現(xiàn)。

PhoenixGo 是騰訊微信翻譯團(tuán)隊(duì)開(kāi)發(fā)的人工智能圍棋程序。據(jù)介紹,該項(xiàng)目由幾名工程師在開(kāi)發(fā)機(jī)器翻譯引擎之余,基于 AlphaGo Zero 論文實(shí)現(xiàn),做了若干提高訓(xùn)練效率的創(chuàng)新,并利用微信服務(wù)器的閑時(shí)計(jì)算資源進(jìn)行自我對(duì)弈,緩解了 Zero 版本對(duì)海量資源的苛刻需求。

4 月底,在 2018 世界人工智能圍棋大賽上,PhoenixGo 取得冠軍。參賽隊(duì)伍包括絕藝,LeelaZero、TSGo、石子旋風(fēng)、Golois,HEROZ Kishi、Baduki 等來(lái)自中、日、韓、歐美等國(guó)家和地區(qū)的人工智能圍棋高手。

5 月 11 日,PhoenixGo 在 Github 上正式開(kāi)源,以下是技術(shù)細(xì)節(jié):

如果你在研究中使用 PhoenixGo,請(qǐng)按以下方式引用庫(kù):

@misc{PhoenixGo2018, author = {Qinsong Zeng and Jianchang Zhang and Zhanpeng Zeng and Yongsheng Li and Ming Chen and Sifan Liu} title = {PhoenixGo}, year = {2018}, journal = {GitHub repository}, howpublished = {\url{https://github.com/Tencent/PhoenixGo}}}

構(gòu)建和運(yùn)行

Linux

1 要求

支持 C++11 的 GCC;

Bazel(0.11.1);

(可選)CUDA 和 cuDNN(支持 GPU);

(可選)TensorRT(加速 GPU 上的計(jì)算,建議使用 3.0.4 版本)。

2 構(gòu)建

復(fù)制庫(kù),并進(jìn)行構(gòu)建配置:

git clone https://github.com/Tencent/PhoenixGo.gitcd PhoenixGo./configure

./configure 將詢問(wèn) CUDA 和 TensorRT 的安裝位置,如果必要指定二者的位置。

然后使用 bazel 進(jìn)行構(gòu)建:

bazel build //mcts:mcts_main

TensorFlow 等依賴項(xiàng)將會(huì)自動(dòng)下載。構(gòu)建過(guò)程可能需要很長(zhǎng)時(shí)間。

3 運(yùn)行

下載和提取訓(xùn)練好的網(wǎng)絡(luò):

wget https://github.com/Tencent/PhoenixGo/releases/download/trained-network-20b-v1/trained-network-20b-v1.tar.gztar xv*** trained-network-20b-v1.tar.gz

以 gtp 模式運(yùn)行,使用配置文件(取決于 GPU 的數(shù)量和是否使用 TensorRT):

bazel-bin/mcts/mcts_main --config_path=etc/{config} --gtp --logtostderr --v=1

該引擎支持 GTP 協(xié)議,這意味著它可以和具備 GTP 能力的 GUI 一起使用,如 Sabaki。

--logtostderr 使 mcts_main 向 stderr 寫(xiě)入日志消息,如果你想將消息寫(xiě)入文件,將 --logtostderr 改成 --log_dir={log_dir} 即可。

你可以按照此說(shuō)明更改配置文件:https://github.com/Tencent/PhoenixGo#configure-guide

4 分布模式

如果不同的機(jī)器上有 GPU,PhoenixGo 支持分布式 worker。

構(gòu)建分布式 worker:

bazel build //dist:dist_zero_model_server

在分布式 worker 上運(yùn)行 dist_zero_model_server,每個(gè) worker 對(duì)應(yīng)一個(gè) GPU:

CUDA_VISIBLE_DEVICES={gpu} bazel-bin/dist/dist_zero_model_server --server_address="0.0.0.0:{port}" --logtostderr

在 config 文件中填充 worker 的 ip:port(etc/mcts_dist.conf 是 32 個(gè) worker 的配置示例),并運(yùn)行分布式 master:

bazel-bin/mcts/mcts_main --config_path=etc/{config} --gtp --logtostderr --v=1

在macOS 上

注意:TensorFlow 在 1.2.0 版本之后停止支持macOS 上的 GPU,因此在macOS 上的操作只能在 CPU 上運(yùn)行。

1 要求 & 構(gòu)建

同 Linux。

2 運(yùn)行

首先添加libtensorflow_framework.so 到LD_LIBRARY_PATH 中:

$ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:{project_root}/bazel-bin/external/org_tensorflow/tensorflow"

在 Windows 上

正在進(jìn)行。

配置指南

以下是 config 文件中的一些重要選項(xiàng):

num_eval_threads:應(yīng)與 GPU 的數(shù)量一致;

num_search_threads:應(yīng)比 num_eval_threads * eval_batch_size 大一些;

timeout_ms_per_step:每步使用的時(shí)間;

max_simulations_per_step:每步要做多少模擬;

gpu_list:使用哪塊 GPU,用逗號(hào)隔開(kāi);

model_config -> train_dir:訓(xùn)練好的網(wǎng)絡(luò)的存儲(chǔ)目錄;

model_config -> checkpoint_path:使用哪個(gè)檢查點(diǎn),如果沒(méi)設(shè)定,則從 train_dir/checkpoint 中獲取;

model_config -> enable_tensorrt:是否使用 TensorRT;

model_config -> tensorrt_model_path:如果 enable_tensorrt,使用哪個(gè) TensorRT 模型;

max_search_tree_size:樹(shù)節(jié)點(diǎn)的最大數(shù)量,根據(jù)存儲(chǔ)容量進(jìn)行更改;

max_children_per_node:每個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)的最大數(shù)量,根據(jù)存儲(chǔ)容量進(jìn)行更改;

enable_background_search:在對(duì)手下棋的時(shí)候思考;

early_stop:如果結(jié)果不再更改,則 genmove 可能在 timeout_ms_per_step 之前返回;

unstable_overtime:如果結(jié)果仍然不穩(wěn)定,則更多地考慮 timeout_ms_per_step * time_factor;

behind_overtime:如果贏率低于 act_threshold,則更多地考慮 timeout_ms_per_step * time_factor。

分布模式的選項(xiàng):

enable_dist:?jiǎn)?dòng)分布模式;

dist_svr_addrs:分布式 worker 的 ip:port,多條線,每條線中有一個(gè) ip:port;

dist_config -> timeout_ms:RPC 超時(shí)。

async 分布模式的選項(xiàng):

Async 模式是在有大量分布式 worker 的時(shí)候使用的(多余 200),而在 sync 模式中需要過(guò)多的 eval 線程和搜索線程。

etc/mcts_async_dist.conf 是 256 個(gè) worker 模式的 config 示例。

enable_async:開(kāi)啟 async 模式

enable_dist:開(kāi)啟分布模式

dist_svr_addrs:每個(gè)命令行 ip:port 的多行、用逗號(hào)分開(kāi)的列表

eval_task_queue_size:根據(jù)分布 worker 的數(shù)量調(diào)整

num_search_threads:根據(jù)分布式 worker 的數(shù)量調(diào)整

參看 mcts/mcts_config.proto 更詳細(xì)的了解 config 選項(xiàng)。

命令行選項(xiàng)

mcts_main 接受以下命令行選項(xiàng):

--config_path:配置文件路徑;

--gtp:作為 GTP 引擎來(lái)運(yùn)行,如果禁用,則只能進(jìn)行 genmove;

--init_moves:圍棋棋盤上最初的落子;

--gpu_list:覆寫(xiě)配置文件中的 gpu_list;

--listen_port:與 --gtp 一起使用,在 TCP 協(xié)議端口上運(yùn)行 gtp 引擎;

--allow_ip:與 --listen_port 一起使用,是允許連接的客戶端 ip 列表;

--fork_per_request:與 --listen_port 一起使用,表示是否 fork 每個(gè)請(qǐng)求。

Glog 選項(xiàng)還支持:

--logtostderr:向 stderr 寫(xiě)入日志消息;

--log_dir:向該文件夾中的文件寫(xiě)入日志消息;

--minloglevel:記錄級(jí)別:0 - INFO、1 - WARNING、2 - ERROR;

--v:詳細(xì)記錄,--v=1 即記錄調(diào)試日志,--v=0 即關(guān)閉記錄。

mcts_main --help 支持更多命令行選項(xiàng)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1805

    文章

    48843

    瀏覽量

    247475
  • 機(jī)器翻譯
    +關(guān)注

    關(guān)注

    0

    文章

    140

    瀏覽量

    15149
  • 微信
    +關(guān)注

    關(guān)注

    6

    文章

    512

    瀏覽量

    27233

原文標(biāo)題:業(yè)界 | 微信團(tuán)隊(duì)開(kāi)源圍棋AI技術(shù)PhoenixGo,復(fù)現(xiàn)AlphaGo Zero論文

文章出處:【微信號(hào):CAAI-1981,微信公眾號(hào):中國(guó)人工智能學(xué)會(huì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    人工智能是什么?

    。 說(shuō)了那么多關(guān)于人工智能機(jī)器人的發(fā)展,我們來(lái)看看當(dāng)前市面上可以看到的落地化機(jī)器人有哪些?,如:法國(guó)的人形機(jī)器人NAO,軟銀公司的帶有情緒的機(jī)器人Pepper等等,大家會(huì)發(fā)現(xiàn),這些機(jī)器人的硬件都做
    發(fā)表于 09-16 15:40

    人工智能技術(shù)—AI

      人工智能技術(shù)的概念從出來(lái)到現(xiàn)在已經(jīng)有很多年的歷史了,其實(shí)所謂的人工智能技術(shù)本身就是一種模擬人類大腦的思考方式的一種技術(shù),它的英文簡(jiǎn)稱是AI技術(shù),在西方國(guó)家,人工智能技術(shù)被認(rèn)為是計(jì)算機(jī)技術(shù)
    發(fā)表于 10-21 12:03

    人工智能VS圍棋名將李世石,誰(shuí)會(huì)贏?

    上來(lái)看比國(guó)際象棋更復(fù)雜,而復(fù)雜程度要高出多個(gè)數(shù)量級(jí)。此外,這也被認(rèn)為是全球最古老、最困難的棋類游戲。 另一方面,DeepMind團(tuán)隊(duì)開(kāi)發(fā)的人工智能系統(tǒng)AlphaGo通過(guò)自學(xué)掌握了圍棋技巧。通過(guò)深度學(xué)習(xí)和
    發(fā)表于 03-07 10:53

    人工智能--失業(yè)將是人類面臨的最大挑戰(zhàn)

    以前總覺(jué)得類似機(jī)器人可能會(huì)奪走人類的工作,甚至?xí)刂迫祟?,最終奪取這個(gè)星球等議論,只是科幻迷們的自?shī)首詷?lè),離現(xiàn)實(shí)還很遙遠(yuǎn),但在圍棋高手李世石和AlphaGo人機(jī)大戰(zhàn)中失??;日本開(kāi)發(fā)的人工智能會(huì)寫(xiě)小說(shuō)
    發(fā)表于 06-27 11:06

    "星陣"大勝柯潔 中國(guó)人工智能的崛起之路

    ,只是輸給了無(wú)數(shù)的棋手,以及研究人工智能的科學(xué)家、工程師的集合體。值得注意的是,與柯潔對(duì)弈的圍棋人工智能機(jī)器人"星陣",是由中國(guó)人工智能
    發(fā)表于 04-29 22:05

    “洗牌”當(dāng)前 人工智能企業(yè)如何延續(xù)熱度?

    在少數(shù)的企業(yè)身上,強(qiáng)者恒強(qiáng)、弱者淘汰的局面已經(jīng)形成。此外,截然不同的是,上至***機(jī)構(gòu)下至平民百姓,對(duì)當(dāng)下的人工智能項(xiàng)目不再盲目追捧,而是提出異議和擔(dān)憂。9月20日,知乎用戶質(zhì)疑科大訊飛翻譯技術(shù)“造假
    發(fā)表于 11-07 11:49

    解讀人工智能的未來(lái)

    `已歷經(jīng)60多年的人工智能在物聯(lián)網(wǎng)以及大數(shù)據(jù)的推動(dòng)下,實(shí)現(xiàn)飛躍式的發(fā)展,并且迎來(lái)了第三個(gè)黃金周期。必優(yōu)傳感今天和大家解讀一下關(guān)于人工智能的未來(lái)。自從有了人工智能,引發(fā)了人類的各種“未來(lái)論”。有人說(shuō)
    發(fā)表于 11-14 10:43

    優(yōu)必選攜手騰瑪人工智能探索:AI智能的未來(lái)之路

    輪領(lǐng)投方鼎暉資本也追加投資。騰瑪人工智能的前身是這內(nèi)汽車智能制造的龍頭企業(yè)(東莞市瑞風(fēng)至有限公司),公司從2004年成立,2010年接觸人工智能行業(yè),2015年成立了人工智能技術(shù)專家
    發(fā)表于 12-21 17:19

    什么是基于云計(jì)算的人工智能服務(wù)?

    如今,采用人工智能的企業(yè)遇到了一個(gè)主要障礙,那就是在內(nèi)部開(kāi)發(fā)人工智能產(chǎn)品成本高昂,因此有了外包人工智能產(chǎn)品的需求。而對(duì)于從中小企業(yè)到預(yù)算受限的大型企業(yè)來(lái)說(shuō),通過(guò)云計(jì)算來(lái)采用人工智能的成
    發(fā)表于 09-11 11:51

    路徑規(guī)劃用到的人工智能技術(shù)

    路徑規(guī)劃用到的人工智能技術(shù)二 人工智能編程語(yǔ)言/數(shù)據(jù)結(jié)構(gòu)與算法三 人工智能基礎(chǔ)原理四 智能信息獲?。ê?jiǎn)稱爬蟲(chóng)) 與數(shù)據(jù)分析1、發(fā)起請(qǐng)求3、解析內(nèi)容4、保存數(shù)據(jù)二、Requests庫(kù)介紹
    發(fā)表于 07-20 06:53

    人工智能芯片是人工智能發(fā)展的

    人工智能芯片是人工智能發(fā)展的 | 特倫斯謝諾夫斯基責(zé)編 | 屠敏本文內(nèi)容經(jīng)授權(quán)摘自《深度學(xué)習(xí) 智能時(shí)代的核心驅(qū)動(dòng)力量》從AlphaGo的人機(jī)對(duì)戰(zhàn),到無(wú)人駕駛汽車的上路,再到AI合成主播
    發(fā)表于 07-27 07:02

    一文看懂人工智能語(yǔ)音芯片 精選資料分享

    以來(lái),谷歌、百度、阿里、騰訊等互聯(lián)網(wǎng)巨頭以及多家知名的風(fēng)險(xiǎn)投資基金瘋狂涌入人工智能行業(yè),大力推動(dòng)各初創(chuàng)算法(方案)公司在多個(gè)應(yīng)用領(lǐng)域商業(yè)化落地。隨著人工智能在視覺(jué)識(shí)別...
    發(fā)表于 07-29 08:42

    《移動(dòng)終端人工智能技術(shù)與應(yīng)用開(kāi)發(fā)》人工智能的發(fā)展與AI技術(shù)的進(jìn)步

    ,隨機(jī)森林,K-均值算法,支持向量機(jī)和人工神經(jīng)網(wǎng)絡(luò)等等。在應(yīng)用方面表現(xiàn)也異常突出,目前89%的人工智能專利申請(qǐng)和40%人工智能范圍相關(guān)專利都屬于機(jī)器學(xué)習(xí)的范疇,可見(jiàn)機(jī)器學(xué)習(xí)的時(shí)代化進(jìn)程多么迅速。歸結(jié)到
    發(fā)表于 02-17 11:00

    騰訊AI Lab打造的騰訊輔助翻譯,探索人工智能賦能翻譯行業(yè)新思路

    深圳 - 騰訊AI Lab今日發(fā)布了一款A(yù)I輔助翻譯產(chǎn)品 - “騰訊輔助翻譯”(Transmart),可滿足用戶快速翻譯的需求,用AI輔助
    的頭像 發(fā)表于 11-16 17:04 ?4703次閱讀

    騰訊推出人工智能輔助翻譯 實(shí)現(xiàn)實(shí)時(shí)交互式翻譯

    Lab官方介紹,“騰訊輔助翻譯”采用自研的人機(jī)交互式機(jī)器翻譯技術(shù),融合神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯、統(tǒng)計(jì)機(jī)器翻譯
    發(fā)表于 11-26 20:55 ?729次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品