async def load(
        self,
    ) -> None:
        """
        Loads the model on the remote device asynchronously.
        """

        if self._state == _RemoteMLModelService.State.Loaded:
            return

        params = {
            "modelID": self._model_id,
            "computeUnits": self._compute_units.name,
            "name": self._model_name,
            "functionName": self._function_name,
        }

        if self._optimization_hints is not None:
            optimization_hints_str_vals = {k: v.name for k, v in self._optimization_hints.items()}
            params["optimizationHints"] = optimization_hints_str_vals


        (result, _) = await self._service.call_method(
            name="MLModelService.Load",
            params=params,
            resource=self._compiled_model_path,
        )

        self._validate_result(result=result)
        self._state = _RemoteMLModelService.State.Loaded
        self._load_duration_in_nano_seconds = result.get("duration", None)

        Loads the model on the remote device asynchronously.
        
coremltools/models/ml_program/experimental/remote_device.py