用 Machine Learning 調校資料庫

AWS AI Blog 在月初上放出來的消息:「Tuning Your DBMS Automatically with Machine Learning」。

Carnegie Mellon Database Group 做的研究,除了預設值以外,另外跟四種不同的參數做比較,分別是 OtterTune (也就是這次的研究)、Tuning script (對於不熟資料庫的人,常用的 open source 工具)、DBA 手動調整,以及 RDS

MySQL

PostgreSQL

比較明顯的結論是:

  • Default 值在所有的 case 下都是最差的 (無論是 MySQL 與 PostgreSQL 平台,以及包括 99% 的 Latency 與 QPS,這樣二乘二的四個結果)。而且 Default 跑出來的數字與其他的差距都很明顯。
  • OtterTune 在所有 case 下跑出來都比 Tuning script 的好。這也是合理的結果,本來就是想要取代其他機器跑出來的結果。

至於有些討論 DBA 會失業的事情,我是樂見其成啦... 這些繁瑣的事情可以自動化就想交給自動化吧 XD

Google 的 Guetzli,對 JPEG 的壓縮演算法

Google Research Europe 推出的演算法,在不動 decoder 的情況下,要怎麼樣壓出又小又清晰的 JPEG 圖片:「Announcing Guetzli: A New Open Source JPEG Encoder」,論文可以在「Guetzli: Perceptually Guided JPEG Encoder」這邊下載,程式碼則可以在 GitHub 上的 google/guetzli 取得。

othree 也寫了一篇「Guetzli: A New Open Source JPEG Encoder」介紹 Guetzli。

Guetzli 在同樣的品質下,比現有的壓縮法可以再壓榨出 29%~45% 的空間,這算是非常驚人的數字:

We reach a 29-45% reduction in data size for a given perceptual distance, according to Butteraugli, in comparison to other compressors we tried.

但代價是需要極為大量的 CPU resource 計算,這使得他沒辦法用在太動態的環境裡:

Guetzli's computation is currently extremely slow, which limits its applicability to compressing static content and serving as a proof- of-concept that we can achieve significant reductions in size by combining advanced psychovisual models with lossy compression techniques.

但只要是在批次處理產生的過程 (不需要太在意要等很久),都可以考慮用這個工具...

DeepMind 跟 Blizzard 合作攻略 StarCraft II

DeepMind 宣佈與 Blizzard 合作,開發了 Star Craft II 的界面讓 AI 可以操作:「DeepMind and Blizzard to release StarCraft II as an AI research environment」:

Today at BlizzCon 2016 in Anaheim, California, we announced our collaboration with Blizzard Entertainment to open up StarCraft II to AI and Machine Learning researchers around the world.

這次比起圍棋更有意義的地方在於,圍棋是在完整資訊的情況下做出決策,但真實世界中經常是沒有完整的資訊就要做決策,這次的 StartCraft II 類似於這樣的環境,更接近於現實生活的情境:

StarCraft is an interesting testing environment for current AI research because it provides a useful bridge to the messiness of the real-world. The skills required for an agent to progress through the environment and play StarCraft well could ultimately transfer to real-world tasks.

另外考慮到電腦可以無限制精細操作每個單位,而人類有「操作速度」的問題,在規劃上會設限每分鐘可以操作的速度:

Computers are capable of extremely fast control, but that doesn’t necessarily demonstrate intelligence, so agents must interact with the game within limits of human dexterity in terms of “Actions Per Minute”.

來拉板凳繼續看下去...

Cuckoo Filter:比 Bloom Filter 多了 Delete

在「Cuckoo Filter implementation in Go, better than Bloom Filters」這邊看到這個資料結構,有興趣的人也可以看「Cuckoo Filter:设计与实现」這篇介紹,下面是我抓重點整理。

Bloom Filter 支援的操作:

  • Add(element)
  • Query(element)

1970 年提出來的資料結構。優點是空間複雜度是 O(1),Query(element) 會有可接受的 false positive,缺點是不支援 Delete(element)、以及數量變多時誤判率的增加。

Cuckoo Filter 多了一組操作:

  • Delete(element)

2014 年提出來的資料結構。空間複雜度一樣是 O(1),但相同的空間用量下 false positive 變低,然後支援 Delete(element) 了。也因此論文直接寫「Cuckoo Filter: Practically Better Than Bloom」,表示可以直接替代。

從 arXiv 上挖寶的網站

Hacker News 上的「Ask HN: How do you get notified about newest research papers in your field?」在問有什麼方法可以找到新的論文,前面的回答就有不少好東西...

一個是 Arxiv Sanity Preserver,另外一個是 GitXiv,兩個都是從 arXiv 上挖寶,先記錄起來,之後拿來翻東西應該會用到...

聯邦政府僱用 CMU 的人研究攻擊 Tor

先前 Tor Project 有提到外面報導 FBI 在 2014 年時僱用 CMU 的人研究 Tor 的弱點並且加以攻擊:「Did the FBI Pay a University to Attack Tor Users?」。

這的確是錯的,因為不是 FBI,而是 DoD (美國國防部) 僱用的 (瞬間噴出茶來):「Judge confirms what many suspected: Feds hired CMU to break Tor」。Tor Project 的反應在「Statement from the Tor Project re: the Court's February 23 Order in U.S. v. Farrell」這邊。

A federal judge in Washington has now confirmed what has been strongly suspected: that Carnegie Mellon University (CMU) researchers at its Software Engineering Institute were hired by the federal government to do research into breaking Tor in 2014.

所以也不是空穴來風...

對於學術研究用的 Big Data...

面試的時候曾經有面試者說手上沒有 big data 可以研究,所以對 big data 的理解僅限於理論,不過我對這種講法就...

網路上有很多資料是很有用的:

能玩的東西明明就很多... 另外還可以掃各種公開資料。