# 專題簡報 --- 創新時勢 ---- 跟上次一樣 ---- 目前在台灣的AI產業大多是靠著現成API在做 缺乏自己的在底層優化的技術力 ---- 所以本專案目標是 **自幹底層** ---- --- ## 新技術 ---- ## 元程式設計 ---- 元程式設計? 可以讓編寫出來的文字轉換 ![](https://i.imgur.com/mtrMrAe.png) ---- 本質上是一個可以用程式碼編寫程式碼的東西 應用: 編譯器 ---- 以batch為例 ```bash= for ((I=1; I<=992; I++)) do echo "echo $I" >>program ``` ---- 在rust中的元程式設計 - macro - codegen(code generate) ---- ### macro - 編譯時自動執行 - 相比codegen更快 ---- ### codegen - 手動執行 - 相比macro更慢 有點像cmake的動態連結庫 ---- ### 如果開發環境有準備好 --- ## 成果 ---- ## 專案架構 ![](https://i.imgur.com/sJLQs1W.png) ---- ## Marco Auto-differentiation ![](https://i.imgur.com/n3efE6V.png) ---- ## Math ![](https://i.imgur.com/7TPT5sp.png) ---- ``` { "type": "FunctionDeclaration", "id": { "type": "Identifier", "name": "add" }, "params": [ { "type": "Identifier", "name": "a" }, { "type": "Identifier", "name": "b" } ], "body": { "type": "BlockStatement", "body": [ { "type": "ReturnStatement", "argument": { "type": "BinaryExpression", "operator": "+", "left": { "type": "Identifier", "name": "a" }, "right": { "type": "Identifier", "name": "b", "comments": [ { "type": "Line", "value": " 有什麼奇怪的東西混進來了", "loc": {}, "leading": true, "trailing": false } ] } } } ] }, "generator": false, "expression": false, "async": false } ``` ---- ## proof of concept ---- ![](https://i.imgur.com/d6RlYvp.png) --- ## comparsion ---- | | 資料結構模型 | 程式模型 | | ------------------ | ---------- |:-------------:| | 編譯時處理自動微分 | Tensorflow | Tangent本專案 | | 執行時處理自動微分 | Torch | PyTorch | ---- ![](https://i.imgur.com/mrSbN0k.png) --- ## future
{"metaMigratedAt":"2023-06-16T22:17:43.768Z","metaMigratedFrom":"Content","title":"專題簡報","breaks":true,"contributors":"[{\"id\":\"f547d745-63f3-4bad-986b-1751eeec19d1\",\"add\":1721,\"del\":95},{\"id\":\"6d8efe8e-dbdf-4e5a-8c38-356b0d1df76d\",\"add\":749,\"del\":36},{\"id\":\"1acbf739-4837-4867-be73-4a41bb7c42a7\",\"add\":1,\"del\":0}]"}
    320 views
   Owned this note