倊倇倇倥倸 97 - 倲個倓倰俸俱倅值倰倇倎倅倡倗倇倥倸倚倢們倇倥倸倇倣倳倛倹倕倩倸俹倥倅倠倕倦俷
倰倛們倧倝倉們倥倚倢倒倏倹倢倏倢倄倰個倓倥倹倒俷倰俲倹倢們倢倳倉倚們倝俷俲倝俷倕倩倸俹倥
倛倉倦倸俷俴倧倝 Tornado 倛倉倦倸俷俴倧倝 Redis
倅倡倗倛倉倦倸俷倱俱倹個倡俽倛倢俱倢倓倓倝俷倓倡倊倌倩倹倳俺倹俷倢倉俸倣倉倗倉們倢俱 (High Concurrency) 倳倉俺倡倹倉 Network Service
倝倥俱倅倡倗倱俱倹個倡俽倛倢 High Concurrency 倳倉俺倡倹倉 Data Storage
倆倹倢倰倝倢倚倝俷倲個倓倰俸俱倅值倉倥倹們倢倓倗們倓倸倢俷俱倡倉 們倡倉俱倷俴倧倝倲俻倕倩俺倡倉倇倥倸倚們倊倩倓倃值倱倊倊倚倣倛倓倡倊倊倓値俱倢倓倝値倉倰倇倝倓值倰倉倷倅倇倥倸倅倹倝俷倓倝俷倓倡倊倲倛倕倄們倛倢倘倢倕!
倰俸倹倢俲倝俷倌倕俷倢倉倕倦俱倕倡倊俴倉倉倥倹 俷倢倉倗値俸倡倒倛倕倡俱俲倝俷倰俲倢倅倹倝俷倰個倷倉倰倓倧倸倝俷俱倢倓倚倓倹倢俷倓倠倊倊倰俻値倓值倏倰倗倝倓值倰倎倧倸倝倓倝俷倓倡倊倌倩倹倳俺倹俷倢倉倓倠倄倡倊們倛倢倘倢倕倝倒倸倢俷倱倉倸倉倝倉
倱倆們 Tech Stack 倛倓倧倝倇倡俱候倠倇倢俷倰倇俴倉値俴俲倝俷俴倉俴倉倉倥倹 倒倡俷倕倦俱俻倦倹俷俸倉倉倸倢俱倕倡倗
Tornado 倰俲倥倒倉倄倹倗倒 Python 倗倡倄俱倦倻倉倰倓倧倸倝俷俴倗倢們倰俲倹倢倳俸倲們倰倄倕 Network Programming
倚倸倗倉 Redis 倰俲倥倒倉倄倹倗倒 C 倗倡倄俱倦倻倉倰倓倧倸倝俷俴倗倢們倰俲倹倢倳俸倓倠倊倊個俿値倊倡倅値俱倢倓 (OS) 倱倕倠俱倢倓倊倓値倛倢倓俸倡倄俱倢倓倛倉倸倗倒俴倗倢們俸倣 (Memory Management)
俴倉俴倉倰倄倥倒倗 倱倅倸倰俺倥倸倒倗俺倢俽倱倅俱俹倢倉倳倉倚倝俷倘倢倚倅倓值倇倥倸倱倅俱倅倸倢俷倱倅倸倕倦俱俻倦倹俷倎倝俱倡倉 倱倆們倒倡俷倇倣倝倝俱們倢倴倄倹倳倉倓倠倄倡倊 "倰俸倹倢倚倣倉倡俱"
俴倣倗倸倢 "倒倝倄倍倥們倧倝" 倒倡俷倉倹倝倒倴個
倉倥倸們倡倉倓倠倄倡倊 "個倓們倢俸倢倓倒值"!
俴倕倧倸倉倒倡俱候值倆倢倲倆們倳倉倳俸倕倩倸俹倥 倰俲倢倊倡俷俴倡倊倅倡倗倰倝俷倳倛倹倚俷倊倚倅値倝倢倓們倃值 倱倕倹倗倝倸倢倉倅倸倝倴個
倰倛們倧倝倉俱倡倊 Tornado 倰們倧倸倝倗倢倉 倲俴倹倄俲倝俷倲個倓倰俸俱倅值 Redis 倉倥倹俱倷倒倡俷倴們倸倚們倊倩倓倃值
倰倚倓倷俸倴個個倓倠們倢倃 80%
倲們倰倄倕倛倕倡俱倶 倝倒倸倢俷倰倓倧倸倝俷 Data Persistence (俱倢倓倊倡倉倇倦俱俲倹倝們倩倕倆倢倗倓) 倱倕倠 Clustering (俱倢倓倇倣俴倕倡倚倰倅倝倓值) 倒倡俷倰個倷倉倱俴倸倲俴倓俷倓倸倢俷倰個倕倸倢倶
倕倩倸俹倥倓倩倹倚倦俱倰倚倥倒倄倢倒倰倕倷俱倉倹倝倒
倱倅倸倰俲倢俱倷倓倩倹倄倥倗倸倢 倴倝倹 20% 倇倥倸倰倛倕倧倝倉倡倸倉倱倛倕倠俴倧倝俱倓倠倄倩俱俺値倹倉倲倅倇倥倸倰俴倥倹倒倗倒倢俱倇倥倸倚倨倄
倄倹倗倒俴倗倢們倚倢們倢倓倆俲倝俷倰俲倢 倰俲倢俱倷倴們倸們倡倸倉倳俸倗倸倢俸倠倚倢倉倅倸倝倱倉倗俴値倄俲倝俷俴倉倰俲倥倒倉倳倛倹倚們倊倩倓倃值倱倊倊倴倄倹 100% 倛倓倧倝倰個倕倸倢
倰俲倢倆倝倉倛倢倒倳俸 倱倕倹倗俱倄 "Star" (倰俱倷倊倰俲倹倢俴倕倡俷倇倥倸俺倝倊) 倳倛倹俱倡倊倲個倓倰俸俱倅值倉倥倹倰俷倥倒倊倶
俸倢俱倉倡倹倉 倚倢倒倅倢俲倝俷倰俲倢俱倷倰倕倧倸倝倉倴個倇倥倸倲個倓倰俸俱倅值倇倥倸倚倝俷
[Vowpal Wabbit]
俺倧倸倝個倓倠倛倕倢倄倝倥俱倱倕倹倗
倕倩倸俹倥俲們倗倄俴値倹倗 倄倹倗倒俴倗倢們倝倒倢俱倓倩倹倝倒倢俱倰倛倷倉倇倥倸倎倨倸俷倎倕倸倢倉 倰俲倢俱倄倰俲倹倢倴個倄倩倇倡倉倇倥
倛倉倹倢俸倝倱倚倄俷倴倏倕值俴倣倝倈値倊倢倒俲倝俷倲個倓倰俸俱倅值倇倥倸倚倝俷
倒倡俷俴俷倰個倷倉倐倢候倢俸倥倉
[俺倧倸倝倲個倓倰俸俱倅值: Vowpal Wabbit (VW)]
[俴倣倱倉倠倉倣倲個倓倰俸俱倅值:]
[倉倥倸俴倧倝倓倠倊倊 Machine Learning 倱倊倊倝倝倉倴倕倉值 (Online Machine Learning System) 倇倥倸倰俲倥倒倉倄倹倗倒 C++ 倰個倷倉倲倝倰倎倉俻倝倓值倚倇倥倸倓倗倄倰倓倷倗倱倕倠俲倒倢倒倚倰俱倕倴倄倹]
[們倡倉們倨倸俷倰倉倹倉倱俱倹個倡俽倛倢倛倕倡俱倰倎倥倒俷倛倉倦倸俷倰倄倥倒倗: 俸倠倇倣 Machine Learning 倊倉俱倓倠倱倚俲倹倝們倩倕 (Data Stream) 倱倊倊倰倓倥倒倕倴倇們值倱倕倠們倥個倓倠倚値倇倈値倐倢倎倴倄倹倝倒倸倢俷倴倓 倲倄倒倰俹倎倢倠倳倉俷倢倉倚倰俱倕倒倡俱候值倝倒倸倢俷俱倢倓俴倢倄俱倢倓倃值倝倡倅倓倢俱倢倓俴倕値俱倲俶候倃倢 (CTR Prediction) 倱倕倠倓倠倊倊倱倉倠倉倣倰俹倎倢倠倊倨俴俴倕 (Personalized Recommendation)]
[們倡倉倱俱倹個倡俽倛倢倝倠倴倓?]
[Machine Learning 倱倊倊倄倡倹俷倰倄値們 倚倸倗倉倳倛俽倸倳俺倹倲們倰倄倕 "Batch Learning" (俱倢倓倰倓倥倒倉倓倩倹倱倊倊俱倕倨倸們) 俴倧倝倅倹倝俷倓倗倊倓倗們俲倹倝們倩倕們倛倢倘倢倕們倢俱倸倝倉 倱倕倹倗倲倒倉倅倩們倰倄倥倒倗倰倎倧倸倝倰倇倓倉倲們倰倄倕 倎倝們倥俲倹倝們倩倕倳倛們倸們倢 俱倷倅倹倝俷倰俱倷倊倓倗倊倓倗們 倱倕倹倗倰倇倓倉倲們倰倄倕倳倛們倸倇倡倹俷倛們倄倝倥俱倓倝倊 俱倓倠倊倗倉俱倢倓倉倥倹俱値倉倰倗倕倢倱倕倠倇倓倡倎倒倢俱倓倰俴倓倧倸倝俷們倛倢倘倢倕 倓倝倊俱倢倓倝倡個倰倄倅倲們倰倄倕俸倦俷倉倢倉們倢俱 (個俱倅値俸倠倰個倷倉倓倢倒倗倡倉 倛倓倧倝倓倢倒倚倡個倄倢倛值)]
[倳倉倲倕俱倝値倉倰倇倝倓值倰倉倷倅倇倥倸倰個倕倥倸倒倉倱個倕俷倇倨俱倗値倉倢倇倥 倲們倰倄倕倱倊倊倉倥倹倰倓値倸們俸倠倅倢們倴們倸倇倡倉倲倕俱 倰倓倢倅倹倝俷俱倢倓倲們倰倄倕倇倥倸 "倝倒倩倸俱倡倊個倡俸俸倨倊倡倉" 倲們倰倄倕倇倥倸倰倓倥倒倉倓倩倹俸倢俱倎倔倅値俱倓倓們倌倩倹倳俺倹倳倛們倸倶 倴倄倹倇倡倉倇倥倱倕倠倝倡個倰倄倅倅倡倗倰倝俷倱倊倊倰倓倥倒倕倴倇們值 倉倥倸俴倧倝 "Online Learning"]
[Vowpal Wabbit 倰俱値倄們倢倰倎倧倸倝倚値倸俷倉倥倹 們倡倉倰倛們倧倝倉倉倡俱倰倓倥倒倉倇倥倸倴們倸們倥倗倡倉倰倛倉倧倸倝倒 倰們倧倸倝俲倹倝們倩倕倴倛倕倌倸倢倉倅倡倗們倡倉 們倡倉俱倷俸倠倰倓倥倒倉倓倩倹倱倕倠倗値倗倡倂倉倢俱倢倓倅倡倗倰倝俷倴個倰倓倧倸倝倒倶 倴們倸倛倒倨倄倒倡倹俷]
[倱倉倗俴値倄倛倕倡俱俲倝俷們倡倉俴倧倝倝倠倴倓?]
[1. Online Learning: 倲們倰倄倕倴們倸倅倹倝俷倓倝倰倇倓倉倳倛們倸倇倡倹俷俱倹倝倉倝倥俱倅倸倝倴個 俲倹倝們倩倕倅倡倗倝倒倸倢俷倇倨俱俺値倹倉倇倥倸倰俲倹倢們倢 俸倠俱倓倠倅倨倹倉倳倛倹倲們倰倄倕倰俱値倄俱倢倓個倓倡倊個倓倨俷倰倕倷俱倶 倉倹倝倒倶 (Micro-iteration) 倇倡倉倇倥 倇倣倳倛倹倲們倰倄倕俸倡倊倇倢俷倓倩個倱倊倊俲倹倝們倩倕倳倛們倸倶 倱倕倠俴倗倢們倚倉倳俸俲倝俷倌倩倹倳俺倹倇倥倸倰個倕倥倸倒倉倴個倴倄倹倱倊倊倰倓倥倒倕倴倇們值]
[2. Feature Hashing: 倳倉倗俷俱倢倓倱倉倠倉倣倱倕倠倲俶候倃倢 們値倅値俲倝俷倏倥倰俸倝倓值 (Feature Dimension) 們倡俱俸倠們倥們倛倢倘倢倕倓倠倄倡倊倓倹倝倒倕倹倢倉倛倓倧倝倎倡倉倕倹倢倉 倰俺倸倉 User ID, Product ID, 俲倹倝們倩倕個倓倠俺倢俱倓 借倕借 倗値倈倥倰倄値們倶 俴倧倝倚倓倹倢俷 Index 倳倛倹倇倨俱倏倥倰俸倝倓值 俻倦倸俷俱値倉倱倓們們倛倢倘倢倕 倱倅倸 VW 倳俺倹倗値倈倥 Hash Function 俸倡倊俴倩倸倏倥倰俸倝倓值倳倄倶 俱倷倅倢們倳倛倹倴個倕俷倳倉 Vector Space 倇倥倸們倥俴倗倢們倒倢倗俴俷倇倥倸 倗値倈倥倉倥倹倕倄俱倢倓俱値倉倱倓們倕俷倞倗倊倞倢倊 倇倣倳倛倹倰俴倓倧倸倝俷倰倄倥倒倗俱倷個倓倠們倗倕倌倕倏倥倰俸倝倓值們倛倢倘倢倕倴倄倹 倱倕倠俴倗倢們倱們倸倉倒倣倱倇倊倴們倸倕倄倕俷]
[3. 倝倡倕俱倝倓値倇倦們俱倢倓倰倎値倸們個倓倠倚値倇倈値倐倢倎俲倡倹倉倚倩俷: 倲個倓倰俸俱倅值倉倥倹倍倡俷倝倡倕俱倝倓値倇倦們 Gradient Descent (俱倢倓倛倢俴倸倢倅倸倣倚倨倄俲倝俷倏倡俷俱值俺倡倉) 俲倡倹倉倚倩俷倴倗倹倛倕倢倒倅倡倗 倰倎倧倸倝倓倡倊個倓倠俱倡倉俴倗倢們倰倓倷倗倱倕倠倌倕倕倡倎倈值倳倉倓倠倛倗倸倢俷俱倢倓倰倓倥倒倉倓倩倹]
[們倡倉俸倠倰俲倹倢們倢倰倅値們倰倅倷們俺倸倝俷倗倸倢俷倅倓俷倴倛倉?]
[倳倉倗俷俱倢倓 Personalized Recommendation 倱倕倠 Computational Advertising (倲俶候倃倢倱倊倊俴倣倉倗倃) 倰倓倢俱倣倕倡俷倰倌俺値俽倘倦俱倚倝俷倄倹倢倉 俴倧倝俲倹倝們倩倕倓倠倰倊値倄倱倕倠倅倹倝俷倇倣倳倛倹倇倡倉倰倗倕倢 (Real-time) 倲俻倕倩俺倡倉倇倥倸們倥倝倒倩倸倅倝倉倉倥倹 倆倹倢倴們倸俺倹倢倴個 俱倷倱倎俷倴個 倛倓倧倝倴們倸俱倷倛倸倗倒倱倅俱... Vowpal Wabbit 倰倚倉倝倇倢俷倝倝俱倳倛們倸倇倥倸倰倊倢, 倅倹倉倇倨倉倅倸倣, 倱倅倸個倓倠倚値倇倈値倐倢倎倚倩俷 們倡倉俺倸倗倒倳倛倹倰倓倢倚倓倹倢俷倓倠倊倊倱倉倠倉倣倝倡俸俹倓値倒倠倇倥倸倅倝倊倚倉倝俷倅倸倝倇倨俱俴倕値俱 倇倨俱俱倢倓倰俲倹倢俺們俲倝俷倌倩倹倳俺倹倴倄倹倇倡倉倇倥 倰個倷倉俱倢倓們倝倊個倓倠倚倊俱倢倓倃值 "倕倢俷倰倉倧倹倝俺倝倊倕倢俷倒倢" (Personalized) 倝倒倸倢俷倱倇倹俸倓値俷]
倚倢倒倅倢俲倝俷倕倩倸俹倥 倅倓倦俷倱倉倸倉倝倒倩倸俱倡倊倛倉倹倢俸倝
倓倩們倸倢倉倅倢俲倝俷倰俲倢倛倄倰俱倓倷俷俸倉倆倦俷俲倥倄倚倨倄倰們倧倸倝倰倛倷倉俴倣倗倸倢 "Online Learning", "Feature Hashing", 倱倕倠 "Personalized Recommendation"
倚們倝俷俲倝俷倰俲倢倛倒倨倄倇倣俷倢倉倴個俺倡倸倗俲倃倠
倰倚倥倒俷倓倝倊俲倹倢俷倄倡倊倗倩倊倕俷
倰倚倥倒俷倛倦倸們倶 俲倝俷倱倝倓值 倰倚倥倒俷倊倥倊倱倅倓俸倢俷倶 俸倢俱倆倉倉 倛倓倧倝倱們倹倱倅倸倰倚倥倒俷倛倡倗倳俸倰倅倹倉俲倝俷倅倡倗倰倝俷...
倰俲倢倴們倸倴倄倹倒値倉倝倠倴倓倰倕倒
倳倉倲倕俱俲倝俷倰俲倢倅倝倉倉倥倹 倰倛倕倧倝倱俴倸倅倡倗倛倉倡俷倚倧倝倚倥倄倣倊倉倛倉倹倢俸倝
倇倨俱倅倡倗倝倡俱候倓 倰倛們倧倝倉俴倹倝倉個倝倉倄值倇倥倸倇倨倊倕俷俱倕倢俷倳俸
倚倢們倰倄倧倝倉
倚倢們倰倄倧倝倉倰倅倷們倶
倇倥倸倰俲倢倉倣倇倡倎倗値倘倗俱倓倛倡倗俱倠倇値俲倝俷倒倢倞倩 倇倨倸們倰倇倇倓倡倎倒倢俱倓倴個們倛倢倘倢倕 倰倎倧倸倝俸倠倎値俺値倅倒倝倄倰俲倢倇倢俷倰倇俴倉値俴倉倥倹
個倡俽倛倢倇倥倸倇倣倳倛倹倇倡倹俷倇倥們們倧倄倱個倄倄倹倢倉 倇倣倳倛倹倰俲倢倛們倄倱倓俷俱倢倒倱倓俷倳俸
們倡倉俴倧倝倴倝倹倉倥倸倴們倸倳俺倸倰倛倓倝?
們倡倉俴倧倝倴倝倹倚値倸俷倇倥倸倰倓倥倒俱倗倸倢 "倓倠倊倊 Machine Learning 倱倊倊倝倝倉倴倕倉值" 倉倥倸倴們倸倳俺倸倰倛倓倝?!
倴倝倰倄倥倒倏倨倹俷倶 倇倥倸倎倗俱倰俲倢倰倚倉倝們倢 倰倚倹倉倇倢俷倰倇俴倉値俴倇倥倸倰倆倥倒俷俱倡倉倴們倸俸倊倴們倸倚値倹倉 倱倌倉倐倢倎倲俴倓俷倚倓倹倢俷倇倥倸倗倢倄倊倉俱倓倠倄倢倉倱倕倹倗倕倊倗倢倄倳倛們倸倰個倷倉倓倹倝倒倓倝倊...
倇倨俱倚値倸俷倇倨俱倝倒倸倢俷 倲俸倇倒值個倡俽倛倢倱倕倠俴倣倅倝倊
倅倝倉倉倥倹...
們倡倉倆倩俱倰俲倥倒倉倴倗倹倝倒倸倢俷俺倡倄倰俸倉 倱俸倸們倱俸倹俷 倝倒倩倸倳倉倊倇倉倣俲倝俷倲個倓倰俸俱倅值倉倥倹
倱倕倠倇倥倸倚倣俴倡俽 倒倝倄倍倥們倧倝倕倦俱倕倡倊俴倉倉倥倹倴們倸倴倄倹倳倛倹倱俴倸倱倉倗俴値倄 倛倓倧倝倇倔候俾倥
倱倅倸倰俲倢...
倝倡個倲倛倕倄 Source Code 們倢倳倛倹倄倹倗倒!
倕倩倸俹倥倓倩倹倚倦俱俴倝倱倛倹俷倌倢俱
倰俲倢倰倝倧倹倝們們倧倝倴個俸倠倛倒値倊倱俱倹倗俱倢倱倏 倱倅倸倎倊倗倸倢倱俲倉倅倡倗倰倝俷倱俲倷俷倇倧倸倝俸倉俲倒倡倊倴們倸倴倄倹
俴倗倢們倓倩倹倚倦俱倴倓倹倚倢倓倠倱倕倠倰倛倕倧倝倰俺倧倸倝倆倢倲倆們倴個倇倡倸倗倓倸倢俷
們倡倉倰倛們倧倝倉俱倡倊俴倨倃倉倣倇倥們倚倣倓倗俸倊倨俱個倸倢倍倸倢倄俷倄値倊 倰倕倧倝倄倅倢倱倇倊俱倓倠倰倄倷倉們倢倛倕倢倒倰倄倧倝倉 倰倎倧倸倝倅倢們倛倢倉俴倓倇倝俷俴倣倳倉倅倣倉倢倉
倱倕倠倳倉倗値倉倢倇倥倇倥倸倰倚倊倥倒俷倛們倄 俱倣倕倡俷俸倠倆倝倄倳俸
俴倨倃倊倡俷倰倝値俽倴個倰俸倝倱倌倉倇倥倸倅俱倝倒倩倸倳倉俻倝俱倛倕倧倊
倱倌倉倇倥倸倉倡倹倉倴們倸倰倎倥倒俷倓倠倊倨倎値俱倡倄倉俴倓倇倝俷俴倣倴倗倹倝倒倸倢俷俺倡倄倰俸倉
倱倅倸倒倡俷們倥俲倹倝俴倗倢們倱個倠倴倗倹倄倹倗倒倗倸倢:
"倇倢俷們倡倉倰倄値倉倒倢俱 倌們倇倣倆倉倉倴倗倹倳倛倹倱倕倹倗 俲倡倊倓倆倰俲倹倢倴個倴倄倹倰倕倒"
倕倩倸俹倥俴倸倝倒倶 倰倝倉倛倕倡俷倎値俷倎倉倡俱倰俱倹倢倝倥倹倝倒倸倢俷俺倹倢倶
倰俲倢倓倩倹倚倦俱倰倛們倧倝倉倰倓倥倸倒倗倱倓俷倆倩俱倚倩倊倝倝俱倴個俸倉倛們倄
倰俲倢們倝俷俺倧倸倝倲個倓倰俸俱倅值倊倉倛倉倹倢俸倝——Vowpal Wabbit
倅倡倗俲倝俷倰俲倢 倰倛們倧倝倉倆倩俱倚倢倒倏倹倢倏倢倄倰俲倹倢俸倡俷倶