快速構建 AI 應用 — AWS 無服務器 AI 應用實戰 AI as a Service: Serverless Machine Learning with Aws

Peter Elger,Eóin Shanaghy 殷海英 譯

  • 快速構建 AI 應用 — AWS 無服務器 AI 應用實戰-preview-1
  • 快速構建 AI 應用 — AWS 無服務器 AI 應用實戰-preview-2
  • 快速構建 AI 應用 — AWS 無服務器 AI 應用實戰-preview-3
快速構建 AI 應用 — AWS 無服務器 AI 應用實戰-preview-1

買這商品的人也買了...

相關主題

商品描述

基於雲的人工智能服務可以自動完成客戶服務、數據分析和財務報告等領域的各種勞動密集型任務。其秘訣在於運用預先構建的工具,例如用於圖像分析的Amazon Rekognition或用於自然語言處理的AWS Comprehend。這樣,就無須創建昂貴的定制軟件系統。 《快速構建AI應用——AWS無服務器AI應用實戰》是利用基於雲的解決方案快速完成人工智能項目的指南。你可以從本書學到如何通過將多個雲組件構建在一起來完成真實世界的應用程序,例如聊天機器人和文字轉語音服務。本書涵蓋了從小型項目到大型數據密集型應用程序所需的相關知識。 主要內容: ·將雲端AI服務應用至現有平臺。 ·設計和構建可擴展的數據管道調試和診斷AI服務。 ·快速掌握無服務器模板。

作者簡介

彼得·埃爾格是fourTheorem(一家技術咨詢公司、AWS合作夥伴)的聯合創始人兼CEO。彼得在英國JET Joint Undertaking公司開始他的職業生涯,在那裏他花了7年時間為核聚變研究創建采集、控制和數據分析系統。他在廣泛的研究和商業軟件領域中擔任過技術領導職務,包括軟件災難恢覆、電信和社交媒體。在創立fourTheorem之前,彼得是兩家公司的聯合創始人兼CTO:Stitcher Ads(一個社交廣告平臺)和NearForm(一家Node.js咨詢公司)。彼得目前研究的重點是通過應用尖端的無服務器技術、雲架構和機器學習為客戶提供商業價值。他的經驗涵蓋了從構建大型分布式軟件系統到領導實施這些系統的國際團隊的各個方面。彼得擁有物理學和計算機科學雙學位。

目錄大綱

目    錄

 

第Ⅰ部分  基礎知識

第1章  兩種技術   3

1.1  雲端環境   4

1.2  什麼是無服務器   6

1.3  對速度的需求   7

1.3.1  早期情況   8

1.3.2  UNIX哲學   8

1.3.3  面向對象和模式   9

1.3.4  Java、J2EE和.NET   10

1.3.5  XML和SOAXML以及SOA   11

1.3.6  Web speed   11

1.3.7  雲計算   12

1.3.8  微服務(重新認識)   12

1.3.9  雲原生服務   13

1.3.10  發展趨勢:速度   14

1.4  什麼是AI   16

1.4.1  AI的歷史   17

1.4.2  真實的AI世界   18

1.4.3  AI服務   20

1.4.4  人工智能和機器學習   21

1.4.5  深度學習   23

1.4.6  人工智能面臨的挑戰   24

1.5  計算能力和人工智能的普及   24

1.6  規範的AI即服務架構   25

1.6.1  Web應用程序   26

1.6.2  實時服務   26

1.6.3  批處理服務   26

1.6.4  通信服務   26

1.6.5  基礎事務服務   26

1.6.6  AI服務   26

1.6.7  數據服務   27

1.6.8  運營支持   27

1.6.9  開發支持   27

1.6.10  平臺之外   27

1.7  在Amazon Web Services

上實現   27

1.8  本章小結   29

第2章  構建無服務器圖像識別系統,第1部分   31

2.1  我們的第一個系統   32

2.2  體系結構   32

2.2.1  Web應用程序   34

2.2.2  同步服務   35

2.2.3  異步服務   36

2.2.4  通信服務   37

2.2.5  AI服務   39

2.2.6  數據服務   39

2.2.7  開發支持和運營支持   39

2.3  一切就緒   39

2.3.1  DNS域和SSL/TLS證書   39

2.3.2  設置清單   41

2.3.3  獲取代碼   41

2.3.4  設置雲端資源   42

2.4  實現異步服務   44

2.5  本章小結   52

第3章  構建無服務器圖像識別系統,第2部分   55

3.1  部署異步服務   55

3.2  實現同步服務   59

3.2.1  UI服務   60

3.2.2  前端服務   65

3.3  運行系統   68

3.4  清理環境   71

3.5  本章小結   71

第Ⅱ部分  行業工具

第4章  以無服務器方式構建和

保護Web應用程序   75

4.1  待辦事項清單程序   75

4.2  體系結構   76

4.2.1  Web應用程序   77

4.2.2  同步服務   78

4.2.3  異步服務   79

4.2.4  通信結構   80

4.2.5  身份認證服務   81

4.2.6  AI服務   81

4.2.7  數據服務   82

4.2.8  開發支持和運營支持   82

4.3  準備就緒   82

4.4  第1步:創建基本應用程序   83

4.4.1  資源   85

4.4.2  待辦事項服務   85

4.4.3  前端   89

4.4.4  部署“第1步”應用程序   94

4.5  第2步:啟用Cognito保護   97

4.5.1  獲取代碼   99

4.5.2  用戶服務   99

4.5.3  待辦事項服務   102

4.5.4  前端服務   103

4.5.5  部署系統的“第2步”   105

4.6  本章小結   109

第5章  為Web應用添加人工智能接口   111

5.1  第3步:添加語音轉文字功能   111

5.1.1  獲取代碼   112

5.1.2  便箋服務   113

5.1.3  前端更新   114

5.1.4  部署“第3步”   117

5.1.5  測試“第3步”   117

5.2  “第4步”:添加文字轉語音服務   118

5.2.1  獲取代碼   119

5.2.2  日程服務   119

5.2.3  前端更新   121

5.2.4  部署“第4步”   122

5.2.5  測試“第4步”   122

5.3  “第5步”:添加聊天機器人對話界面   123

5.3.1  獲取代碼   124

5.3.2  創建聊天機器人   124

5.3.3  前端更新   127

5.3.4  部署“第5步”   129

5.3.5  測試“第5步”   130

5.4  清理環境   130

5.5  本章小結   131

第6章  如何有效地使用AI即服務   133

6.1  解決無服務器的新挑戰   134

6.1.1  無服務器的優勢和挑戰   134

6.1.2  生產級的無服務器模板   135

6.2  建立項目結構   137

6.2.1  源存儲庫:monorepo或polyrepo   137

6.2.2  項目文件夾結構   138

6.2.3  獲取代碼   139

6.3  持續部署   139

6.3.1  持續部署設計   140

6.3.2  使用AWS服務實現持續部署   141

6.4  可觀察性和監控   145

6.5  日誌   146

6.5.1  生成結構化日誌   147

6.5.2  檢查日誌輸出   148

6.5.3  使用CloudWatch Logs Insights搜索日誌   151

6.6  監控服務和應用程序指標   153

6.6.1  服務指標   154

6.6.2  應用程序指標   154

6.6.3  使用指標創建告警   159

6.7  使用跟蹤理解分佈式應用程序   160

6.7.1  啟用X-Ray跟蹤   160

6.7.2  探索跟蹤和映射   162

6.7.3  帶有註釋和自定義指標的高級跟蹤   163

6.8  本章小結   164

第7章  將AI應用於現有系統   165

7.1  無服務器AI的集成模式   165

7.1.1  模式1:同步API   168

7.1.2  模式2:異步API   169

7.1.3  模式3:VPN流輸入   170

7.1.4  模式4:VPN完全連接流   171

7.1.5  選擇哪種模式   172

7.2  使用Textract改進身份驗證   173

7.2.1  獲取代碼   174

7.2.2  文本分析API   174

7.2.3  客戶端代碼   176

7.2.4  部署API   177

7.2.5  測試API   177

7.2.6  刪除API   179

7.3  帶有Kinesis支持的AI數據處理pipeline   179

7.3.1  獲取代碼   181

7.3.2  部署API   182

7.4  使用Translate即時翻譯   183

7.5  測試pipeline   185

7.6  使用Comprehend分析情緒   187

7.7  訓練自定義文檔分類器   189

7.7.1  創建訓練存儲桶   190

7.7.2  上傳訓練數據   191

7.7.3  創建IAM角色   191

7.7.4  訓練分類器   192

7.8  使用自定義分類器   192

7.9  pipeline的端到端測試   194

7.10  刪除pipeline   195

7.11  使用自動化的優勢   195

7.12  本章小結   196

第Ⅲ部分  將所學知識整合起來

第8章  為AI應用大規模收集數據   199

8.1  場景:尋找會議和演講者   200

8.1.1  識別所需數據   200

8.1.2  數據來源   202

8.1.3  為模型訓練準備數據   202

8.2  從網絡收集數據   203

8.3  網絡爬蟲簡介   204

8.3.1  典型的網絡爬蟲過程   204

8.3.2  網絡爬蟲架構   205

8.3.3  無服務器網絡爬蟲架構   208

8.4  實現條目存儲   210

8.4.1  獲取代碼   210

8.4.2  條目存儲桶   210

8.4.3  部署條目存儲   210

8.5  創建frontier來存儲和管理URL   211

8.5.1  獲取代碼   211

8.5.2  frontier URL數據庫   211

8.5.3  創建frontier API   213

8.5.4  部署和測試frontier   214

8.6  構建fetcher來檢索和解析網頁   215

8.6.1  配置和控制headless瀏覽器   216

8.6.2  捕獲頁面輸出   216

8.6.3  獲取多個頁面   217

8.6.4  部署並測試fetcher   219

8.7  確定strategy服務中的爬取空間   219

8.8  使用調度程序編排爬蟲   222

8.8.1  獲取代碼   222

8.8.2  使用Step Function   222

8.8.3  部署和測試調度器   224

8.9  本章小結   227

第9章  使用AI從大數據集中提取有價數據   229

9.1  使用AI從網頁中提取重要信息   229

9.1.1  瞭解需求   230

9.1.2  擴展體系結構   230

9.2  瞭解Comprehend的實體識別API   231

9.3  為信息提取準備數據   234

9.3.1  獲取代碼   234

9.3.2  創建S3事件通知   234

9.3.3  實現preparation處理程序   236

9.3.4  使用死信隊列(DLQ)增加彈性   236

9.3.5  創建DLQ和重試處理程序   237

9.3.6  部署和測試preparation服務   239

9.4  使用文本批處理管理吞吐量   242

9.4.1  獲取代碼   242

9.4.2  檢索批量文本從而進行提取   242

9.5  異步命名實體抽象   243

9.5.1  獲取代碼   243

9.5.2  開始實體識別任務   244

9.6  查看實體識別進度   245

9.7  部署和測試批量實體識別   246

9.8  對識別結果進行持久化   247

9.9  整合所有功能   248

9.9.1  編排實體提取   248

9.9.2  端到端數據提取測試   251

9.9.3  查看會議數據提取結果   251

9.10  工作總結   253

9.11  本章小結   253

附錄A  設置AWS賬戶   255

附錄B  AWS托管AI服務的數據需求   265

附錄C  AI應用的數據源   267

附錄D  設置DNS域和證書   269

附錄E  底層的無服務器框架   275