MLOps Tools: MLflow and Hugging Face

بواسطة: Coursera

Overview

This course covers two of the most popular open source platforms for MLOps (Machine Learning Operations): MLflow and Hugging Face. We’ll go through the foundations on what it takes to get started in these platforms with basic model and dataset operations. You will start with MLflow using projects and models with its powerful tracking system and you will learn how to interact with these registered models from MLflow with full lifecycle examples. Then, you will explore Hugging Face repositories so that you can store datasets, models, and create live interactive demos.

By the end of the course, you will be able to apply MLOps concepts like fine-tuning and deploying containerized models to the Cloud. This course is ideal for anyone looking to break into the field of MLOps or for experienced MLOps professionals who want to improve their programming skills.

Syllabus

  • Introduction to MLflow
    • This week, you will learn what MLflow is and how to use it. You’ll install MLflow and perform basic operations like registering runs, models, and artifacts. Then, you’ll create an MLflow project for reproducible results. Finally, you’ll understand how to use a registry with MLflow models and reference artifacts from the API.
  • Introduction to Hugging Face
    • This week, you will learn the basics of the Hugging Face platform. You will use some of its features like its repositories so that you can store models and datasets. Finally, you will learn how to add and use models and datasets using Hugging Face APIs as well as the web interface.
  • Deploying Hugging Face
    • This week, you will learn how to containerize Hugging Face models and use the FastAPI framework to serve the model with an interactive HTTP API endpoint. Once you understand how to put everything together, you’ll use automation for speed and reproducibility. Finally, you’ll use Azure and Docker Hub to store the containers so that they can be used later for deployments.
  • Applied Hugging Face
    • This week, you will learn how to fine-tune Hugging Face models by using pre-existing models and then modifying (fine-tuning) them with additional data. You’ll also use Azure to deploy the container and learn how to troubleshoot it. Finally, you’ll also see how to deploy a model to Hugging Face spaces.

Taught by

Noah Gift and Alfredo Deza

MLOps Tools: MLflow and Hugging Face
الذهاب الي الدورة

MLOps Tools: MLflow and Hugging Face

بواسطة: Coursera

  • Coursera
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • الجميع
  • English, Kazakh, German, Hindi, Russian, Swedish, Korean, Portuguese, Greek, Italian, French, Chinese, Spanish, Arabic, Thai, Ukrainian, Japanese, Indonesian, Polish, Dutch, Turkish
8.1.2PHP Version180msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (104ms)
    • Application (75.63ms)
    • 1 x Booting (57.72%)
      103.83ms
      1 x Application (42.04%)
      75.63ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed3.54ms
      • select * from `courses` where `slug_ar` = 'mlops-tools:-mlflow-and-hugging-face' limit 1
        2.04ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. mlops-tools:-mlflow-and-hugging-face
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-13 15:26:30' where `id` = 157
        500μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-13 15:26:30
        • 1. 157
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (22)
        270μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        160μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (24) and `institutions`.`deleted_at` is null
        180μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        160μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 157 limit 1
        230μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 157
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        OFq1i3ENuXR7dvmHQ9tgPO6Cf0PGSXsPtWEFjuI7
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/mlops-...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/mlops-tools:-mlflow-and-hugging-face
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "priority" => array:1 [ 0 => "u=0, i" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.133.79.80" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "x-forwarded-for" => array:1 [ 0 => "3.133.79.80" ] "cf-ray" => array:1 [ 0 => "92fbfb708c6210dc-ORD" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_PRIORITY" => "u=0, i" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.133.79.80" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "3.133.79.80" "HTTP_CF_RAY" => "92fbfb708c6210dc-ORD" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "33320" "REMOTE_ADDR" => "172.69.59.35" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/mlops-tools:-mlflow-and-hugging-face" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744557990.7625 "REQUEST_TIME" => 1744557990 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sun, 13 Apr 2025 15:26:30 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjZ6UVlEdk9RRVlTaTZvUXV4S2RmYmc9PSIsInZhbHVlIjoiTlNYa3ZSTnVDQ2ZmVlBSZG0zYnpBRHl2ZC9ERytybE8rMDMwTmlvcnY3YVhGR0xDU1FFYXRqQ3hXOHBlcFc2eHRidzB6NTBwekI4aDdjNUFIRXoySGVzOW40Yzlkam9zdHcyWmhRbnhTT0sxMjNPOVpSUkxicmV5aFRlQWFpUTkiLCJtYWMiOiI5ODU0YzU2OTdkNTE5MzdjN2E0YjFlNWRhMzY4OGZiYzA4YjBkOTA5YmZkNzY0ZWEwMDk0MjVjMzAzOGFlMzZmIiwidGFnIjoiIn0%3D; expires=Sun, 13 Apr 2025 17:26:30 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjZ6UVlEdk9RRVlTaTZvUXV4S2RmYmc9PSIsInZhbHVlIjoiTlNYa3ZSTnVDQ2ZmVlBSZG0zYnpBRHl2ZC9ERytybE8rMDMwTmlvcnY3YVhGR0xDU1FFYXRqQ3hXOHBlcFc2eHRidzB6N" 1 => "laravel_session=eyJpdiI6InhTRnBZci9yS1B0eDJNYmVnb3BaV1E9PSIsInZhbHVlIjoiaThZSm1EaEhhZUs4WFNDRmF4YU1pYWoza3JNR1B4VzRZZXQ2cG1waXhFSEs5OUNnTkF5eWVCVktVYmJlNVBQZUNIRFdOdTNubmw5Smx4L1lCdEZUK3U3OTR6cHlaeDJqS1hwb1YvQUVwOXVWRUR1c0JxbklzTHBwOVQvOGhCVWIiLCJtYWMiOiJiYThjNGNkZTQ3OTk2NTljOGM4MmYwMDdiMWUwNTViNjNiNWI5NWExOTRlOThhMGU3NGRmODRlMWNhMmU3ODJlIiwidGFnIjoiIn0%3D; expires=Sun, 13 Apr 2025 17:26:30 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6InhTRnBZci9yS1B0eDJNYmVnb3BaV1E9PSIsInZhbHVlIjoiaThZSm1EaEhhZUs4WFNDRmF4YU1pYWoza3JNR1B4VzRZZXQ2cG1waXhFSEs5OUNnTkF5eWVCVktVYmJlNVBQZUNI" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjZ6UVlEdk9RRVlTaTZvUXV4S2RmYmc9PSIsInZhbHVlIjoiTlNYa3ZSTnVDQ2ZmVlBSZG0zYnpBRHl2ZC9ERytybE8rMDMwTmlvcnY3YVhGR0xDU1FFYXRqQ3hXOHBlcFc2eHRidzB6NTBwekI4aDdjNUFIRXoySGVzOW40Yzlkam9zdHcyWmhRbnhTT0sxMjNPOVpSUkxicmV5aFRlQWFpUTkiLCJtYWMiOiI5ODU0YzU2OTdkNTE5MzdjN2E0YjFlNWRhMzY4OGZiYzA4YjBkOTA5YmZkNzY0ZWEwMDk0MjVjMzAzOGFlMzZmIiwidGFnIjoiIn0%3D; expires=Sun, 13-Apr-2025 17:26:30 GMT; path=/XSRF-TOKEN=eyJpdiI6IjZ6UVlEdk9RRVlTaTZvUXV4S2RmYmc9PSIsInZhbHVlIjoiTlNYa3ZSTnVDQ2ZmVlBSZG0zYnpBRHl2ZC9ERytybE8rMDMwTmlvcnY3YVhGR0xDU1FFYXRqQ3hXOHBlcFc2eHRidzB6N" 1 => "laravel_session=eyJpdiI6InhTRnBZci9yS1B0eDJNYmVnb3BaV1E9PSIsInZhbHVlIjoiaThZSm1EaEhhZUs4WFNDRmF4YU1pYWoza3JNR1B4VzRZZXQ2cG1waXhFSEs5OUNnTkF5eWVCVktVYmJlNVBQZUNIRFdOdTNubmw5Smx4L1lCdEZUK3U3OTR6cHlaeDJqS1hwb1YvQUVwOXVWRUR1c0JxbklzTHBwOVQvOGhCVWIiLCJtYWMiOiJiYThjNGNkZTQ3OTk2NTljOGM4MmYwMDdiMWUwNTViNjNiNWI5NWExOTRlOThhMGU3NGRmODRlMWNhMmU3ODJlIiwidGFnIjoiIn0%3D; expires=Sun, 13-Apr-2025 17:26:30 GMT; path=/; httponlylaravel_session=eyJpdiI6InhTRnBZci9yS1B0eDJNYmVnb3BaV1E9PSIsInZhbHVlIjoiaThZSm1EaEhhZUs4WFNDRmF4YU1pYWoza3JNR1B4VzRZZXQ2cG1waXhFSEs5OUNnTkF5eWVCVktVYmJlNVBQZUNI" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "OFq1i3ENuXR7dvmHQ9tgPO6Cf0PGSXsPtWEFjuI7" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/mlops-tools:-mlflow-and-hugging-face" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]