Enabling MLflow OpenAI Autolog on PySpark Workers
Khi phân phối các cuộc gọi LLM trên các worker PySpark bằng mapInPandas, MLflow's openai.autolog() không ghi lại traces do ba vấn đề: worker không kế thừa URI theo dõi và tên experiment từ driver, xuất traces bất đồng bộ gây xung đột thread khi kết thúc process, và không hỗ trợ liên kết trace cha-con. Giải pháp là thiết lập tracking URI, experiment name và tắt MLFLOW_ENABLE_ASYNC_TRACE_LOGGING=false trong hàm worker. Sau khi hoạt động, việc theo dõi từng cuộc gọi phát hiện chi phí ẩn do Spark lazy evaluation thực thi lại nhiều lần các cuộc gọi LLM.
Lập trình viên muốn tối ưu hóa và theo dõi hiệu suất mô hình ML trên Spark với OpenAI, đặc biệt khi sử dụng mapInPandas, nên đọc bài này để khắc phục lỗi trace không hoạt động và khám phá cách khắc phục vấn đề tái thực hiện LLM nhiều lần do tính chất lazy evaluation của Spark.
