AWS Machine Learning Blog 喺 10 月 12 日發布一篇技術教學,示範點樣用 llama.cpp 喺 Amazon SageMaker AI 部「決策模型」,喺 CPU 或 GPU 上提供量化模型推理。
呢篇係一連串關於 AWS Deep Learning Containers(DLC,AWS 嘅深度學習容器)處理生成式 AI 推理嘅系列文章之一,之前講過 WhisperX、vLLM-Omni(第一、二部分)。
教學展示兩條部署路徑。第一條走標準文字生成:將模型包裝成 model.tar.gz 放喺 Amazon S3,用公開嘅 DLC image,容器會喺 /opt/ml/model 揾第一個 .gguf 檔案,將 POST /invocations 映射到 llama-server 嘅 /v1/chat/completions,並透過 SM_LLAMA_CPP_* 環境變數傳遞參數。API 走 OpenAI Chat Completions 格式,接受 messages 陣列同 max_tokens、stream 等參數,返回 choices 陣列。
第二條走結構化決策:用 AWS CodeBuild 建一個子 image 放喺 Amazon ECR,保留 DLC 編譯好嘅 CPU 或 CUDA 庫,但將預設伺服器入口換成 SemIf adapter。原因是 llama-server 嘅 HTTP API 沒有暴露 SemIf 所需嘅最終位置 logits 同狀態操作。
SemIf(前稱 OpenJev)唔做逐 token 解碼,而係直接對已宣告嘅選項返回概率。請求包含呼叫方定義嘅 ID、非結構化狀態、問題、同有序選項列表;回應返回 option_ids、probabilities、raw option_logits,同時間及模型 metadata。AWS 強調,用穩定 option ID,應用可以對結果設門檻、回退及政策檢查,唔使解析生成嘅文字。
教學指出呢個模式適用於:將個案路由到對應隊列、從已知集合提取單一值、分配事故優先級、檢查政策結果、或為 agent 揀選行動。
文內亦提及同類實作,包括 TypeSafe 嘅 Jev 決策模型及 /v1/systemone API、Kev 模型伺服器、同 Strands Decider 2B。
阿調搞兩下:呢種「唔生成文字、直接打分」嘅做法,對需要確定性與可審計嘅企業流程(例如路由、合規檢查)都幾實用,省卻瞭解析自然語言嘅不確定性。但要注意,呢種設計將「選項」由應用定義,模型只負責打分;權限與最終決定仍係人手要執嘅,唔可以因為有 AI 打分就跳過審批。
阿調|深度調教




