CINXE.COM

Hacia una IA generativa más privada - Google Developers Blog

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title> Hacia una IA generativa más privada - Google Developers Blog </title> <meta property="og:title" content="Hacia una IA generativa más privada- Google Developers Blog" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="description" content="Google has developed a number of technologies that you can use to start experimenting with and exploring the potential of generative AI to process data that needs to stay private." /> <meta content="summary_large_image" name="twitter:card"/> <meta content="Google for Developers Blog - News about Web, Mobile, AI and Cloud" property="twitter:title"/> <meta property="og:title" content="Hacia una IA generativa más privada" /> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Google for Developers Blog", "item": "https://developers.googleblog.com/" },{ "@type": "ListItem", "position": 2, "name": "Hacia una IA generativa más privada", "item": "http://developers.googleblog.com/es/enabling-more-private-gen-ai/" }] } </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Hacia una IA generativa más privada", "description": "Google desarrolló una serie de tecnologías para que puedas experimentar y explorar el potencial de la IA generativa para procesar los datos que se deben mantener privados.", "image": "https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/social-G4D-Project-GameFace-makes-.2e16d0ba.fill-800x400.png", "datePublished": "2024-07-09", "author": [ { "@type": "Person", "name": "Krzysztof Ostrowski", "url": "/es/search/?author=Krzysztof+Ostrowski" }, { "@type": "Person", "name": "Rene Kolga", "url": "/es/search/?author=Rene+Kolga" } ] } </script> <meta content="https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/social-G4D-Project-GameFace-makes.2e16d0ba.fill-1200x600.png" property="og:image"/> <!-- Google Tag Manager --> <script type="text/javascript" src="https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/3beac713-6e5f-4da4-a648-60ba0b0a6ffe/js/analytics.js"></script> <!-- End Google Tag Manager --> <link href="//www.gstatic.com/glue/v27_1/glue.min.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/3beac713-6e5f-4da4-a648-60ba0b0a6ffe/css/dgc_blog.css"> <link rel="icon" href="https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/3beac713-6e5f-4da4-a648-60ba0b0a6ffe/images/favicon.ico" type="image/x-icon"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preload" href="https://fonts.googleapis.com/css2?family=Product+Sans&family=Google+Sans+Display:ital@0;1&family=Google+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Google+Sans+Text:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap" as="style"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Product+Sans&family=Google+Sans+Display:ital@0;1&family=Google+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Google+Sans+Text:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@400&display=swap"> <link href="https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/3beac713-6e5f-4da4-a648-60ba0b0a6ffe/css/blog_detail.css" /> <link rel="stylesheet" href="https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/3beac713-6e5f-4da4-a648-60ba0b0a6ffe/pygmentify/css/default.min.css"> </head> <body id="main-content" class="glue-body "> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WVTLDSL " height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- HTML --> <header class="dgc-header"> <div class="dgc-header-inner"> <button class="hamburger" aria-haspopup="true" aria-expanded="false" aria-label="Abrir menú"> <svg role="presentation" aria-hidden="true" class="glue-icon"> <use href="/glue-icon/#menu"></use> </svg> </button> <div class="product-name-wrapper"> <a href="https://developers.google.com/" class="site-logo-link" data-label="Site logo"> <img src="https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/3beac713-6e5f-4da4-a648-60ba0b0a6ffe/images/g-dev.svg" class="site-logo" alt="Google for Developers"> </a> </div> <div class="desktop-nav-wrapper"> <div class="upper-tabs-wrapper"> <div class="upper-tabs"> <nav class="tabs" aria-label="Pestañas superiores"> <div class="tab" dropdown> <a href="//developers.google.com/products" class="top-nav-title"> Productos </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="true" aria-label="Menú desplegable de Productos" class="dropdown-toggle"> <svg role="presentation" aria-hidden="true" class="glue-icon"> <use href="/glue-icon/#arrow-drop-down"></use> </svg> </a> <div class="tabs-dropdown" aria-label="Submenú"> <div class="tabs-dropdown-content"> <div class="tabs-dropdown-column"> <ul class="tabs-dropdown-section"> <li class="nav-title" aria-label="Menú Desarrolla">Desarrolla</li> <li class="nav-item"> <a href="//developer.android.com"> <div class="nav-item-title"> Android </div> </a> </li> <li class="nav-item"> <a href="//developer.chrome.com"> <div class="nav-item-title"> Chrome </div> </a> </li> <li class="nav-item"> <a href="//chromeos.dev/"> <div class="nav-item-title"> ChromeOS </div> </a> </li> <li class="nav-item"> <a href="//cloud.google.com"> <div class="nav-item-title"> Cloud </div> </a> </li> <li class="nav-item"> <a href="//firebase.google.com"> <div class="nav-item-title"> Firebase </div> </a> </li> <li class="nav-item"> <a href="//flutter.dev"> <div class="nav-item-title"> Flutter </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/assistant"> <div class="nav-item-title"> Google Assistant </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/maps"> <div class="nav-item-title"> Google Maps Platform </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/workspace"> <div class="nav-item-title"> Google Workspace </div> </a> </li> <li class="nav-item"> <a href="//www.tensorflow.org"> <div class="nav-item-title"> TensorFlow </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/youtube"> <div class="nav-item-title"> YouTube </div> </a> </li> </ul> </div> <div class="tabs-dropdown-column"> <ul class="tabs-dropdown-section"> <li class="nav-title" aria-label="Menú Crece">Crece</li> <li class="nav-item"> <a href="//firebase.google.com"> <div class="nav-item-title"> Firebase </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/google-ads"> <div class="nav-item-title"> Google Ads </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/analytics"> <div class="nav-item-title"> Google Analytics </div> </a> </li> <li class="nav-item"> <a href="//developer.android.com/distribute"> <div class="nav-item-title"> Google Play </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/search"> <div class="nav-item-title"> Search </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/web/fundamentals/engage-and-retain/push-notifications"> <div class="nav-item-title"> Web Push and Notification APIs </div> </a> </li> </ul> </div> <div class="tabs-dropdown-column"> <ul class="tabs-dropdown-section"> <li class="nav-title" aria-label="Menú Gana">Gana</li> <li class="nav-item"> <a href="//developers.google.com/admob"> <div class="nav-item-title"> AdMob </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/google-ads/api"> <div class="nav-item-title"> Google Ads API </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/pay"> <div class="nav-item-title"> Google Pay </div> </a> </li> <li class="nav-item"> <a href="//developer.android.com/google/play/billing/"> <div class="nav-item-title"> Google Play Billing </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/interactive-media-ads"> <div class="nav-item-title"> Interactive Media Ads </div> </a> </li> </ul> </div> </div> </div> </div> <div class="tab"> <a href="//developers.google.com/solutions/catalog" class="top-nav-title"> Soluciones </a> </div> <div class="tab"> <a href="//developers.google.com/events" class="top-nav-title"> Eventos </a> </div> <div class="tab"> <a href="//developers.google.com/learn" class="top-nav-title"> Aprende </a> </div> <div class="tab" dropdown> <a href="//developers.google.com/community" class="top-nav-title"> Comunidad </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="true" aria-label="Menú desplegable de Comunidad" class="dropdown-toggle"> <svg role="presentation" aria-hidden="true" class="glue-icon"> <use href="/glue-icon/#arrow-drop-down"></use> </svg> </a> <div class="tabs-dropdown" aria-label="Submenú"> <div class="tabs-dropdown-content"> <div class="tabs-dropdown-column"> <ul class="tabs-dropdown-section"> <li class="nav-title" aria-label="Menú Grupos">Grupos</li> <li class="nav-item"> <a href="//developers.google.com/community/gdg"> <div class="nav-item-title"> Google Developer Groups </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/community/gdsc"> <div class="nav-item-title"> Google Developer Student Clubs </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/womentechmakers"> <div class="nav-item-title"> Woman Techmakers </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/community/experts"> <div class="nav-item-title"> Google Developer Experts </div> </a> </li> <li class="nav-item"> <a href="//www.techequitycollective.com/"> <div class="nav-item-title"> Tech Equity Collective </div> </a> </li> </ul> </div> <div class="tabs-dropdown-column"> <ul class="tabs-dropdown-section"> <li class="nav-title" aria-label="Menú Programas">Programas</li> <li class="nav-item"> <a href="//developers.google.com/community/accelerators"> <div class="nav-item-title"> Accelerator </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/community/gdsc-solution-challenge"> <div class="nav-item-title"> Solution Challenge </div> </a> </li> <li class="nav-item"> <a href="//developers.google.com/community/devfest"> <div class="nav-item-title"> DevFest </div> </a> </li> </ul> </div> <div class="tabs-dropdown-column"> <ul class="tabs-dropdown-section"> <li class="nav-title" aria-label="Menú Historias">Historias</li> <li class="nav-item"> <a href="//developers.google.com/community/stories"> <div class="nav-item-title"> Todas las historias </div> </a> </li> </ul> </div> </div> </div> </div> <div class="tab"> <a href="//developers.google.com/profile/u/me" class="top-nav-title"> Programa para desarrolladores </a> </div> <div class="tab"> <a href="//developers.googleblog.com/" class="top-nav-title"> Blog </a> </div> </nav> </div> </div> </div> </div> <div class="dgc-header-search"> <div class="search-wrapper glue-page"> <div class="glue-grid"> <form id="search-form" action="/es/search/" method="get" class="search-content glue-grid__col glue-grid__col--span-4-sm glue-grid__col--span-9-md glue-grid__col--span-7-lg"> <div class="search-input-wrapper"> <svg role="presentation" aria-hidden="true" class="glue-icon search-icon"> <use href="/glue-icon/#search"></use> </svg> <input type="text" name="query" placeholder="Buscar todos los artículos..." aria-label="Buscar" class="search-input-field" /> </div> <button class="glue-button glue-button--high-emphasis"> Buscar </button> </form> <div class="language-selector glue-grid__col glue-grid__col--span-4-sm glue-grid__col--span-3-md glue-grid__col--span-5-lg" aria-label="Selecciona tu preferencia de idioma"> <button type="button" aria-controls="lang-menu-header" aria-haspopup="true"> <svg role="presentation" aria-hidden="true" class="glue-icon lang-icon"> <use href="/glue-icon/#language"></use> </svg> <span class="lang-label">Español (Latam)</span> <svg role="presentation" aria-hidden="true" class="glue-icon lang-icon"> <use href="/glue-icon/#arrow-drop-down"></use> </svg> </button> <div id="lang-menu-header" class="lang-menu hidden" role="menu"> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" href="/en/enabling-more-private-gen-ai/">English</a> </li> <li role="presentation"> <a role="menuitem" lang="es" aria-current="true" href="/es/enabling-more-private-gen-ai/">Español (Latam)</a> </li> <li role="presentation"> <a role="menuitem" lang="id" href="/id/enabling-more-private-gen-ai/">Bahasa Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" href="/ja/enabling-more-private-gen-ai/">日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" href="/ko/enabling-more-private-gen-ai/">한국어</a> </li> <li role="presentation"> <a role="menuitem" lang="pt-br" href="/pt-br/enabling-more-private-gen-ai/">Português (Brasil)</a> </li> <li role="presentation"> <a role="menuitem" lang="zh-hans" href="/zh-hans/enabling-more-private-gen-ai/">简体中文</a> </li> </ul> </div> </div> </div> </div> </div> </header> <div class="mobile-drawer" top-level-nav> <nav class="nav-content" aria-label="Menú lateral"> <div class="mobile-header"> <button class="nav-close-btn nav-btn" aria-label="Cerrar navegación"> <svg role="presentation" aria-hidden="true" class="glue-icon"> <use href="/glue-icon/#close"></use> </svg> </button> <button class="nav-back-btn nav-btn hidden" aria-label="Regresar al menú"> <svg role="presentation" aria-hidden="true" class="glue-icon"> <use href="/glue-icon/#arrow-back"></use> </svg> </button> <div class="product-name-wrapper"> <a href="https://developers.google.com/" class="site-logo-link" data-label="Site logo"> <img src="https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/3beac713-6e5f-4da4-a648-60ba0b0a6ffe/images/g-dev.svg" class="site-logo" alt="Google for Developers"> </a> </div> </div> <div class="nav-wrapper"> <div class="mobile-nav-top"> <ul class="nav-list"> <li class="nav-item"> <a href="//developers.google.com/products" class="nav-title" data-label="Tab: Products"> <span class="nav-text" tooltip=""> Productos </span> </a> <ul class="nav-responsive-tabs"> <li class="nav-item"> <span tabindex="0" class="nav-title products-btn" data-label="More Products"> <span class="nav-text" menu="Products"> Más </span> <span class="nav-icon" menu="Products"> <svg role="presentation" aria-hidden="true" class="glue-icon"> <use href="/glue-icon/#arrow-forward"></use> </svg> </span> </span> </li> </ul> </li> <li class="nav-item"> <a href="//developers.google.com/solutions/catalog" class="nav-title" data-label="Tab: Solutions"> <span class="nav-text" tooltip=""> Soluciones </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/events" class="nav-title" data-label="Tab: Events"> <span class="nav-text" tooltip=""> Eventos </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/learn" class="nav-title" data-label="Tab: Learn"> <span class="nav-text" tooltip=""> Aprende </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/community" class="nav-title" data-label="Tab: Community"> <span class="nav-text" tooltip=""> Comunidad </span> </a> <ul class="nav-responsive-tabs"> <li class="nav-item"> <span tabindex="0" class="nav-title community-btn" data-label="More Community"> <span class="nav-text" menu="Community"> Más </span> <span class="nav-icon" menu="Community"> <svg role="presentation" aria-hidden="true" class="glue-icon"> <use href="/glue-icon/#arrow-forward"></use> </svg> </span> </span> </li> </ul> </li> <li class="nav-item"> <a href="//developers.google.com/profile/u/me" class="nav-title" data-label="Tab: Developer Program"> <span class="nav-text" tooltip=""> Programa para desarrolladores </span> </a> </li> <li class="nav-item"> <a href="//developers.googleblog.com/" class="nav-title" data-label="Tab: Blog"> <span class="nav-text" tooltip=""> Blog </span> </a> </li> </ul> </div> <div class="mobile-nav-bottom"> <ul class="nav-list products-submenu" menu="Products" aria-label="Menú lateral"> <li class="nav-item nav-heading"> <span class="nav-title"> <span class="nav-text"> Desarrolla </span> </span> </li> <li class="nav-item"> <a href="//developer.android.com" class="nav-title"> <span class="nav-text"> Android </span> </a> </li> <li class="nav-item"> <a href="//developer.chrome.com" class="nav-title"> <span class="nav-text"> Chrome </span> </a> </li> <li class="nav-item"> <a href="//chromeos.dev/" class="nav-title"> <span class="nav-text"> ChromeOS </span> </a> </li> <li class="nav-item"> <a href="//cloud.google.com" class="nav-title"> <span class="nav-text"> Cloud </span> </a> </li> <li class="nav-item"> <a href="//firebase.google.com" class="nav-title"> <span class="nav-text"> Firebase </span> </a> </li> <li class="nav-item"> <a href="//flutter.dev" class="nav-title"> <span class="nav-text"> Flutter </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/assistant" class="nav-title"> <span class="nav-text"> Google Assistant </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/maps" class="nav-title"> <span class="nav-text"> Google Maps Platform </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/workspace" class="nav-title"> <span class="nav-text"> Google Workspace </span> </a> </li> <li class="nav-item"> <a href="//www.tensorflow.org" class="nav-title"> <span class="nav-text"> TensorFlow </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/youtube" class="nav-title"> <span class="nav-text"> YouTube </span> </a> </li> <li class="nav-item nav-heading"> <span class="nav-title"> <span class="nav-text"> Crece </span> </span> </li> <li class="nav-item"> <a href="//firebase.google.com" class="nav-title"> <span class="nav-text"> Firebase </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/google-ads" class="nav-title"> <span class="nav-text"> Google Ads </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/analytics" class="nav-title"> <span class="nav-text"> Google Analytics </span> </a> </li> <li class="nav-item"> <a href="//developer.android.com/distribute" class="nav-title"> <span class="nav-text"> Google Play </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/search" class="nav-title"> <span class="nav-text"> Search </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/web/fundamentals/engage-and-retain/push-notifications" class="nav-title"> <span class="nav-text"> Web Push and Notification APIs </span> </a> </li> <li class="nav-item nav-heading"> <span class="nav-title"> <span class="nav-text"> Gana </span> </span> </li> <li class="nav-item"> <a href="//developers.google.com/admob" class="nav-title"> <span class="nav-text"> AdMob </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/google-ads/api" class="nav-title"> <span class="nav-text"> Google Ads API </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/pay" class="nav-title"> <span class="nav-text"> Google Pay </span> </a> </li> <li class="nav-item"> <a href="//developer.android.com/google/play/billing/" class="nav-title"> <span class="nav-text"> Google Play Billing </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/interactive-media-ads" class="nav-title"> <span class="nav-text"> Interactive Media Ads </span> </a> </li> </ul> <ul class="nav-list community-submenu hidden" menu="Community" aria-label="Menú lateral"> <li class="nav-item nav-heading"> <span class="nav-title"> <span class="nav-text"> Grupos </span> </span> </li> <li class="nav-item"> <a href="//developers.google.com/community/gdg" class="nav-title"> <span class="nav-text"> Google Developer Groups </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/community/gdsc" class="nav-title"> <span class="nav-text"> Google Developer Student Clubs </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/womentechmakers" class="nav-title"> <span class="nav-text"> Woman Techmakers </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/community/experts" class="nav-title"> <span class="nav-text"> Google Developer Experts </span> </a> </li> <li class="nav-item"> <a href="//www.techequitycollective.com/" class="nav-title"> <span class="nav-text"> Tech Equity Collective </span> </a> </li> <li class="nav-item nav-heading"> <span class="nav-title"> <span class="nav-text"> Programas </span> </span> </li> <li class="nav-item"> <a href="//developers.google.com/community/accelerators" class="nav-title"> <span class="nav-text"> Accelerator </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/community/gdsc-solution-challenge" class="nav-title"> <span class="nav-text"> Solution Challenge </span> </a> </li> <li class="nav-item"> <a href="//developers.google.com/community/devfest" class="nav-title"> <span class="nav-text"> DevFest </span> </a> </li> <li class="nav-item nav-heading"> <span class="nav-title"> <span class="nav-text"> Historias </span> </span> </li> <li class="nav-item"> <a href="//developers.google.com/community/stories" class="nav-title" aria-label="All Stories"> <span class="nav-text"> Todas las historias </span> </a> </li> </ul> </div> </div> </nav> <select aria-label="Cambiar idioma" name="lang-selector" id="lang-selector-nav" class="glue-form__dropdown glue-mobile-nav__lang-dropdown" onchange="window.location.href=this.value" > <option value="/en/enabling-more-private-gen-ai/" lang="en" > English </option> <option value="/es/enabling-more-private-gen-ai/" lang="es" selected > Español (Latam) </option> <option value="/id/enabling-more-private-gen-ai/" lang="id" > Bahasa Indonesia </option> <option value="/ja/enabling-more-private-gen-ai/" lang="ja" > 日本語 </option> <option value="/ko/enabling-more-private-gen-ai/" lang="ko" > 한국어 </option> <option value="/pt-br/enabling-more-private-gen-ai/" lang="pt-br" > Português (Brasil) </option> <option value="/zh-hans/enabling-more-private-gen-ai/" lang="zh-hans" > 简体中文 </option> </select> </div> <div class="backdrop"></div> <div class="blog-detail-container"> <section class="tags-container glue-page glue-spacer-5-top"> <div class="glue-eyebrow"><a href="/es/search/?product_categories=Gemma">Gemma</a></div> </section> <section class="heading-container glue-page glue-spacer-1-top"> <h1 class="glue-headline glue-headline--headline-1">Hacia una IA generativa más privada</h1> </section> <section class="summary-container glue-page glue-spacer-4-top"> <div class="date-time"> <div class="published-date glue-font-weight-medium">JUL 09, 2024</div> </div> </section> <section class="glue-page glue-grid glue-spacer-1-top"> <section class="author-container glue-grid__col glue-grid__col--span-4-sm glue-grid__col--span-10-md"> <div class="author-obj"> <a class="glue-font-weight-medium" href="/es/search/?author=Krzysztof+Ostrowski">Krzysztof Ostrowski</a> <span class="glue-font-weight-medium role">Research Scientist</span> </div> <div class="author-obj"> <a class="glue-font-weight-medium" href="/es/search/?author=Rene+Kolga">Rene Kolga</a> <span class="glue-font-weight-medium role">Senior Product Manager</span> </div> </section> <section class="social-container glue-grid__col glue-grid__col--span-4-sm glue-grid__col--span-2-md"> <button id="social-button" class="glue-button glue-button--low-emphasis glue-button--icon" aria-haspopup="true" aria-expanded="false"> <svg role="presentation" aria-hidden="true" class="glue-icon"> <use href="/glue-icon/#share"></use> </svg> <span>Compartir</span> </button> <ul id="social-menu" class="glue-elevation-level-1" role="menu" aria-labelledby="social-button"> <li> <a href="https://www.facebook.com/sharer/sharer.php?u={url}" title="Share on Facebook" target="_blank" rel="noopener"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--32px"> <use href="/glue-icon/#post-facebook"></use> </svg> <span>Facebook</span> </a> </li> <li> <a href="https://twitter.com/intent/tweet?text={url}" title="Share on Twitter" target="_blank" rel="noopener"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--32px"> <use href="/glue-icon/#twitter-x"></use> </svg> <span>Twitter</span> </a> </li> <li> <a href="https://www.linkedin.com/shareArticle?url={url}&amp;mini=true" title="Share on LinkedIn" target="_blank" rel="noopener"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--32px"> <use href="/glue-icon/#post-linkedin"></use> </svg> <span>LinkedIn</span> </a> </li> <li> <a href="mailto:name@example.com?subject=Check%20out%20this%20site&body=Check%20out%20{url}" title="Send via Email"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--32px"> <use href="/glue-icon/#email"></use> </svg> <span>Mail</span> </a> </li> <li> <a href="#" title="Get shareable link" data-link="" data-copy-text="Copiar vínculo" data-copied-text="¡Copiado!"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--social glue-icon--32px"> <use href="/glue-icon/#link"></use> </svg> <span></span> </a> </li> </ul> </section> </section> <section class="blocks-container glue-page glue-spacer-3-top"> <div class="block"> <img class="banner-image" src="https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/header-G4D-Project-GameFace-makes-gaming-access.original.png" alt="AI-for-Developers-Banner" /> <div class="inner-block-content rich-content"> <p data-block-key="ev089">Si bien la IA generativa se está adoptando rápidamente, todavía existe un gran potencial para crear productos aplicando esta herramienta en datos que presentan requisitos más estrictos, con el fin de garantizar que sigan siendo privados y confidenciales.</p><p data-block-key="1fi5c">Por ejemplo, se podría aplicar la IA generativa en los siguientes casos:</p><p data-block-key="bcsud"></p><ul><li data-block-key="2e01r">Procesamiento de datos que permite que los asistentes personales estén más integrados y sean conscientes de lo que está sucediendo en nuestras vidas y, por lo tanto, puedan ayudarnos en una variedad más amplia de situaciones cotidianas.</li></ul><p data-block-key="9us1j"></p><ul><li data-block-key="m5mg">Información comercial confidencial; por ejemplo, para automatizar tareas tediosas como el procesamiento de facturas o el manejo de consultas de atención al cliente para mejorar la productividad y reducir el costo operativo.</li></ul><p data-block-key="d4hih"></p><p data-block-key="fq5a5">En ciertas aplicaciones como estas, puede haber requisitos más estrictos con respecto a la privacidad o confidencialidad, la transparencia y la verificabilidad externa del procesamiento de datos.</p><p data-block-key="59fqr">Google desarrolló una serie de tecnologías que puedes usar para comenzar a experimentar y explorar el potencial de la IA generativa a la hora de procesar datos cuya privacidad debe mantenerse más controlada. En esta entrada, explicaremos cómo puedes usar el <a href="https://github.com/google/genc">proyecto de código abierto</a> GenC, que se lanzó recientemente, para combinar <a href="https://cloud.google.com/security/products/confidential-computing">Confidential Computing</a>, los modelos de código abierto de <a href="https://ai.google.dev/gemma">Gemma</a> y las plataformas móviles si quieres comenzar a experimentar con la creación de tus propias apps de IA generativa que puedan manejar datos con requisitos más estrictos con respecto a la privacidad o confidencialidad, la transparencia y la verificabilidad externa.</p><h2 data-block-key="3k2ou"><b><br/>Trabajo en conjunto de dispositivos de usuario final y la nube</b></h2><p data-block-key="1cg42">La situación en la que nos centraremos en esta entrada, que ilustraremos a continuación, involucra una dispositivos móviles que tiene acceso a datos en el dispositivo y desea procesar la IA generativa en estos datos utilizando un LLM.</p><p data-block-key="bs0lj">Por ejemplo, imagina una app de asistente personal a la que se le pide que resuma o responda una pregunta sobre notas, un documento o una grabación guardada en el dispositivo. El contenido puede incluir información privada, como mensajes con otra persona, por lo que queremos asegurarnos de que siga siendo privada.</p><p data-block-key="bk24c">En nuestro ejemplo, elegimos la familia de modelos de código abierto de <a href="https://ai.google.dev/gemma">Gemma</a>. Ten en cuenta que, si bien nos centramos aquí en una app para dispositivos móviles, los mismos principios se aplican a las empresas que alojan sus propios datos en sus instalaciones.</p> </div> <div class="inner-block-content"> <div class="image-wrapper"> <img class="regular-image" src="https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/Private_GenAI.original.png" alt="A model cascade that spans from a mobile device to a trusted enclave in cloud." /> </div> </div> <div class="inner-block-content rich-content"> <p data-block-key="ev089">Este ejemplo muestra una configuración "híbrida" que involucra dos LLM: uno que se ejecuta localmente en el dispositivo del usuario y otro alojado en los <a href="https://en.wikipedia.org/wiki/Trusted_execution_environment">entornos de ejecución confiable (TEE)</a> de <a href="https://cloud.google.com/docs/security/confidential-space">Confidential Space</a> de <a href="https://cloud.google.com/">Google Cloud</a>, con tecnología de <a href="https://cloud.google.com/security/products/confidential-computing">Confidential Computing</a>. Esta arquitectura híbrida permite que la app para dispositivos móviles aproveche tanto los recursos disponibles en el dispositivo como en la nube para beneficiarse de las ventajas únicas que ofrecen ambos:</p><p data-block-key="a3bg6"></p><ul><li data-block-key="b1o0b">Una instancia más pequeña de Gemma 2B cuantificado que viene en un paquete de ~1,5 GB y se adapta a dispositivos móviles modernos (como Pixel 7), donde puede proporcionar tiempos de respuesta más rápidos (sin incurrir en latencia de red o transferencia de datos), la capacidad de admitir consultas incluso sin una conexión de red, y una mejor rentabilidad gracias a que aprovecha los recursos de hardware locales del dispositivo (y así llegar a un público más amplio por el mismo costo en el lado de la nube).</li></ul><p data-block-key="8cbhm"></p><ul><li data-block-key="ed2u2">Una instancia más grande de Gemma 7B sin cuantificar que tiene casi ~35 GB y que no cabe ni siquiera en dispositivos de alta potencia. Dado que está alojada en la nube, depende de una conexión de red y tiene un costo más alto, pero ofrece una mejor calidad y la capacidad de manejar consultas más complejas o costosas (con más recursos disponibles para procesar), además de brindar otros beneficios (como minimizar el consumo de batería del dispositivo móvil gracias a los cálculos de descarga a la nube, etc.).</li></ul><p data-block-key="ecggg"></p><p data-block-key="feu2f">En nuestro ejemplo, los dos modelos trabajan juntos, conectados en una cascada de modelos en la que Gemma 2B, más pequeño, barato y rápido, sirve como primer nivel y maneja consultas más simples, mientras que Gemma 7B, más grande, sirve como respaldo para consultas que el primero no puede manejar por sí solo. Por ejemplo, en el fragmento de código más adelante, configuramos Gemma 2B para que actúe como enrutador en el dispositivo que primero analiza cada consulta de entrada a fin de decidir cuál de los dos modelos es el más apropiado, y luego, en función del resultado, procede a manejar la consulta localmente en el dispositivo, o la transmite a Gemma 7B, que se aloja en un <a href="https://en.wikipedia.org/wiki/Trusted_execution_environment">TEE</a> basado en la nube.</p><h2 data-block-key="74ekc"><b><br/>TEE como una extensión lógica del dispositivo</b></h2><p data-block-key="bts14">Se podría decir que el TEE en la nube en esta arquitectura es como una extensión lógica del dispositivo móvil del usuario, impulsado por la transparencia, las garantías criptográficas y el hardware confiable:</p><p data-block-key="bpk4u"></p><ul><li data-block-key="ehmbq">El contenedor privado con Gemma 7B y el tiempo de ejecución de GenC alojado en el TEE se ejecuta con memoria encriptada. La comunicación entre el dispositivo y el TEE también está encriptada y no se conserva ningún dato (pero si es necesario, también podría encriptarse en reposo).</li></ul><p data-block-key="ama5m"></p><ul><li data-block-key="etnaf">Antes de que se produzca cualquier interacción, el dispositivo verifica la identidad e integridad del código en el TEE que manejará las consultas delegadas desde el dispositivo solicitando un informe de <a href="https://cloud.google.com/confidential-computing/confidential-vm/docs/attestation">certificación</a>, que incluye un resumen SHA256 de la imagen del contenedor que se ejecuta en el TEE. El dispositivo compara este resumen con un resumen que el desarrollador integró en la aplicación (ten en cuenta que, en esta situación simple, el usuario confía en el desarrollador de la aplicación, tal como lo haría con una aplicación que se encuentra exclusivamente en el dispositivo. Es posible contar con configuraciones más complejas, pero que no están dentro del alcance de este artículo).</li></ul><p data-block-key="e6fbd"></p><ul><li data-block-key="98nib">Todo el código que se ejecuta en la imagen del contenedor en este escenario es 100% abierto. Por lo tanto, el desarrollador o cualquier tercero puede inspeccionar de forma independiente el código que ingresa en la imagen para verificar si procesa los datos de una manera que guarde relación con las expectativas del usuario o del propietario de los datos y si cumple con las obligaciones reglamentarias o contractuales, etc., y, luego, proceder a crear la imagen por su cuenta y confirmar que el resumen de la imagen resultante coincida con el resumen agrupado dentro de la aplicación y que espera la aplicación en el informe de certificación que posteriormente devuelve el TEE.</li></ul><p data-block-key="bjfcr"></p><p data-block-key="9mrlr">A primera vista, esta configuración puede parecer compleja. De hecho, lo sería si fuera necesario configurar todo completamente desde cero. Desarrollamos GenC <a href="https://github.com/google/genc">precisamente</a> para facilitar el proceso.</p><h2 data-block-key="dl7eo"><b><br/>Cómo simplificar la experiencia de los desarrolladores</b></h2><p data-block-key="1k95m">Este es el ejemplo de código que realmente tendrías que escribir para configurar un escenario como el anterior en GenC. Aquí usamos Python como opción popular, aunque también ofrecemos API de creación de Java y C++. En este ejemplo, utilizamos la presencia de un tema más sensible como una señal de que un modelo más potente (que sea capaz de elaborar una respuesta más cuidadosa) debe manejar la consulta. Ten en cuenta que se simplificó este ejemplo con fines ilustrativos. En la práctica, la lógica de enrutamiento podría ser más elaborada y centrarse más en la aplicación, y se requiere de una cuidadosa ingeniería rápida para lograr un buen rendimiento, especialmente con modelos más pequeños.</p> </div> <div class="inner-block-content code-block"> <div class="highlight"><pre class="python"><span></span><span class="nd">@genc</span><span class="o">.</span><span class="n">authoring</span><span class="o">.</span><span class="n">traced_computation</span> <span class="k">def</span> <span class="nf">cascade</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> <span class="n">gemma_2b_on_device</span> <span class="o">=</span> <span class="n">genc</span><span class="o">.</span><span class="n">interop</span><span class="o">.</span><span class="n">llamacpp</span><span class="o">.</span><span class="n">model_inference</span><span class="p">(</span> <span class="s1">&#39;/device/llamacpp&#39;</span><span class="p">,</span> <span class="s1">&#39;/gemma-2b-it.gguf&#39;</span><span class="p">,</span> <span class="n">num_threads</span><span class="o">=</span><span class="mi">16</span><span class="p">,</span> <span class="n">max_tokens</span><span class="o">=</span><span class="mi">64</span><span class="p">)</span> <span class="n">gemma_7b_in_a_tee</span> <span class="o">=</span> <span class="n">genc</span><span class="o">.</span><span class="n">authoring</span><span class="o">.</span><span class="n">confidential_computation</span><span class="p">[</span> <span class="n">genc</span><span class="o">.</span><span class="n">interop</span><span class="o">.</span><span class="n">llamacpp</span><span class="o">.</span><span class="n">model_inference</span><span class="p">(</span> <span class="s1">&#39;/device/llamacpp&#39;</span><span class="p">,</span> <span class="s1">&#39;/gemma-7b-it.gguf&#39;</span><span class="p">,</span> <span class="n">num_threads</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span> <span class="n">max_tokens</span><span class="o">=</span><span class="mi">64</span><span class="p">),</span> <span class="p">{</span><span class="s1">&#39;server_address&#39;</span><span class="p">:</span> <span class="o">/*</span> <span class="n">server</span> <span class="n">address</span> <span class="o">*/</span><span class="p">,</span> <span class="s1">&#39;image_digest&#39;</span><span class="p">:</span> <span class="o">/*</span> <span class="n">image</span> <span class="n">digest</span> <span class="o">*/</span> <span class="p">}]</span> <span class="n">router</span> <span class="o">=</span> <span class="n">genc</span><span class="o">.</span><span class="n">authoring</span><span class="o">.</span><span class="n">serial_chain</span><span class="p">[</span> <span class="n">genc</span><span class="o">.</span><span class="n">authoring</span><span class="o">.</span><span class="n">prompt_template</span><span class="p">[</span> <span class="w"> </span><span class="sd">&quot;&quot;&quot;Read the following input carefully: &quot;{x}&quot;.</span> <span class="sd"> Does it touch on political topics?&quot;&quot;&quot;</span><span class="p">],</span> <span class="n">gemma_2b_on_device</span><span class="p">,</span> <span class="n">genc</span><span class="o">.</span><span class="n">authoring</span><span class="o">.</span><span class="n">regex_partial_match</span><span class="p">[</span><span class="s1">&#39;does touch|touches&#39;</span><span class="p">]]</span> <span class="k">return</span> <span class="n">genc</span><span class="o">.</span><span class="n">authoring</span><span class="o">.</span><span class="n">conditional</span><span class="p">[</span> <span class="n">gemma_2b_on_device</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">gemma_7b_in_a_tee</span><span class="p">(</span><span class="n">x</span><span class="p">)](</span><span class="n">router</span><span class="p">(</span><span class="n">x</span><span class="p">))</span> </pre></div> </div> <div class="inner-block-content rich-content"> <p data-block-key="ev089">Puedes ver un desglose detallado paso a paso de cómo crear y ejecutar dichos ejemplos en nuestros <a href="https://github.com/google/genc/blob/master/genc/docs/tutorials/README.md">tutoriales en GitHub</a>. Como puedes ver, el nivel de abstracción coincide con lo que puedes encontrar en SDK populares como LangChain. Las llamadas de inferencia de modelo a Gemma 2B y 7B se intercalan aquí con plantillas de solicitud y analizadores de salida, y se combinan en cadenas (por cierto, ofrecemos una interoperabilidad limitada de LangChain que esperamos expandir).</p><p data-block-key="18bl0">Ten en cuenta que, si bien la llamada de inferencia del modelo Gemma 2B se utiliza directamente dentro de una cadena que se ejecuta en el dispositivo, la llamada de Gemma 7B está explícitamente integrada dentro de una sentencia <b><code>confidential_computation</code></b>.</p><p data-block-key="df5sc">El punto es que no hay sorpresas: el programador siempre tiene el control total de la decisión de qué procesamiento realizar en el dispositivo y qué delegar del dispositivo a un TEE en la nube. Esta decisión se refleja explícitamente en la estructura del código (ten en cuenta que en este ejemplo, solo delegamos las llamadas de Gemma 7B a un único backend confiable, el mecanismo que proporcionamos es genérico y se puede usar para delegar fragmentos más grandes de procesamiento, como un bucle de agente completo, a un número arbitrario de backends).</p><h2 data-block-key="6kr90"><b><br/>Desde la creación de prototipos hasta una implementación flexible</b></h2><p data-block-key="9ri5p">Mientras que el código que se muestra arriba se expresa utilizando una sintaxis de Python familiar, en el nivel subyacente se está transformando en lo que llamamos una plataforma portátil y una forma independiente del lenguaje, a la que nos referimos como la <a href="https://github.com/google/genc/blob/master/genc/docs/ir.md">representación intermedia</a> (o "IR" para abreviar).</p><p data-block-key="2jpv6">Este enfoque ofrece una serie de ventajas, como las siguientes:</p><p data-block-key="d78j8"></p><ul><li data-block-key="e0eie">Te permite crear prototipos y probar tu lógica de IA generativa en un entorno de desarrollo rápido y fácil de usar, que admite iteraciones rápidas, como una notebook Jupyter, y, luego, implementar el mismo código de IA generativa con cambios mínimos o sin cambios para ejecutar, por ejemplo, en una aplicación Java en un dispositivo móvil. En nuestros <a href="https://github.com/google/genc/blob/master/genc/docs/tutorials/README.md">instructivos</a>, esto es tan simple como copiar un archivo que contiene el IR en tu dispositivo móvil y cargarlo en tu app.</li></ul><p data-block-key="5c6kh"></p><ul><li data-block-key="86ga8">Te permite implementar y ejecutar la misma lógica con un comportamiento consistente en todos los lenguajes y plataformas (por ejemplo, desde plataformas basadas en Linux hasta móviles, desde Python hasta Java y C++). Esta es una ventaja si planeas apuntar a una serie de superficies de productos diferentes.</li></ul><p data-block-key="b9p4g"></p><ul><li data-block-key="d3kvp">Te permite delegar dinámicamente cualquier parte de la lógica de la IA generativa a través de los límites del proceso y la máquina. Esto es implícitamente lo que está sucediendo en nuestra situación, con el dispositivo móvil delegando a un TEE en la nube. Resulta que, en este ejemplo simple, delegamos una sola operación (la llamada de inferencia de Gemma 7B). El mecanismo que ofrecemos es considerablemente más general.</li></ul><p data-block-key="2pe5n"></p><p data-block-key="t8ke">En implementaciones realistas, el rendimiento suele ser un factor crítico. Nuestros ejemplos publicados en este momento se limitan a un solo CPU, y GenC actualmente solo ofrece llama.cpp como controlador para modelos en un TEE. Sin embargo, el equipo de Confidential Computing <a href="https://cloud.google.com/blog/products/identity-security/confidential-vms-on-intel-cpus-your-datas-new-intelligent-defense">amplía el soporte a Intel TDX</a> con el <a href="https://www.intel.com/content/www/us/en/products/docs/accelerator-engines/advanced-matrix-extensions/overview.html">acelerador incorporado Intel AMX</a> junto con la <a href="https://cloud.google.com/blog/products/identity-security/expanding-confidential-computing-for-ai-workloads-next24">próxima versión preliminar de las GPU Nvidia H100, que se ejecutan en modo confidencial</a>. Estamos trabajando activamente para ampliar la gama de opciones de software y hardware disponibles, a fin de lograr el mejor rendimiento y soporte para una variedad más amplia de modelos. ¡Presta atención a las próximas actualizaciones!</p><h2 data-block-key="3s2vu"><b><br/>Queremos conocer tu opinión.</b></h2><p data-block-key="bd38o">Esperamos haber despertado tu curiosidad y que esta entrada del blog te anime a experimentar con la creación de tus propias apps de IA generativa utilizando algunas de las tecnologías que presentamos. Y en ese sentido, ten en cuenta que GenC es un marco de trabajo experimental, desarrollado con fines experimentales y de investigación: lo creamos para demostrar lo que puedes hacer y para inspirarte a que explores este emocionante espacio con nosotros. Si deseas contribuir, comunícate con los autores o simplemente comunícate con nosotros <a href="https://github.com/google/genc">en GitHub</a>. ¡Nos encanta colaborar!</p> </div> </div> </section> <section class="navigation-container glue-page glue-spacer-6-top"> <div class="posted-in-section"> <div class="posted-in-section__heading"> <span class="glue-caption"> publicado en: </span> </div> <div class="posted-in-section__tags"> <ul> <li> <a href="/es/search/?product_categories=Gemma" class="glue-caption">Gemma</a> </li> <li> <a href="/es/search/?technology_categories=Mobile" class="glue-caption">Mobile</a> </li> <li> <a href="/es/search/?technology_categories=AI" class="glue-caption">AI</a> </li> <li> <a href="/es/search/?technology_categories=Cloud" class="glue-caption">Cloud</a> </li> <li> <a href="/es/search/?content_type_categories=How-To+Guides" class="glue-caption">How-To Guides</a> </li> <li> <a href="/es/search/?content_type_categories=Industry+Trends" class="glue-caption">Industry Trends</a> </li> <li> <a href="/es/search/?tag=Solve" class="glue-caption">Solve</a> </li> <li> <a href="/es/search/?tag=Learn" class="glue-caption">Learn</a> </li> </ul> </div> </div> <div class="buttons-section"> <div class="buttons-section__left"> <a href="/es/running-larger-language-models-in-the-browser-with-mediapipe-7b/" class="glue-button--icon glue-elevation-level-1 " aria-label="Anterior"> <svg role="presentation" aria-hidden="true" class="glue-icon"> <use href="/glue-icon/#chevron-left"></use> </svg> </a> <span class="caption ">Anterior</span> </div> <div class="buttons-section__right"> <span class="caption ">Siguiente</span> <a href="/es/bringing-the-io-magic-to-berlin/" class="glue-button--icon glue-elevation-level-1 " aria-label="Siguiente"> <svg role="presentation" aria-hidden="true" class="glue-icon"> <use href="/glue-icon/#chevron-right"></use> </svg> </a> </div> </div> </section> <section class="related-posts-container glue-page glue-spacer-6-top glue-spacer-3-bottom"> <span class="glue-headline glue-headline--headline-3">Publicaciones relacionadas</span> <div class="related-posts-container__carousel glue-page glue-spacer-5-top"> <div class="glue-carousel glue-carousel--cards glue-carousel-related-posts" aria-label="Publicaciones relacionadas"> <!-- Previous --> <button class="glue-carousel__button glue-carousel__button--prev" aria-label="Ir a la diapositiva anterior"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--32px"> <use href="/glue-icon/#chevron-left"></use> </svg> </button> <!-- Next --> <button class="glue-carousel__button glue-carousel__button--next" aria-label="Ir a la siguiente diapositiva"> <svg role="presentation" aria-hidden="true" class="glue-icon glue-icon--32px"> <use href="/glue-icon/#chevron-right"></use> </svg> </button> <!-- List --> <div class="glue-carousel__viewport"> <div class="glue-carousel__list"> <a class="glue-card glue-carousel__item" href="/es/introducing-keras-hub-for-pretrained-models/"> <div aria-label="Presentamos KerasHub: la tienda de modelos preentrenados" class="glue-card__inner"> <picture class="glue-card__asset"> <img alt="Presentamos KerasHub: la tienda de modelos preentrenados" src="https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/Keras-GfD.2e16d0ba.fill-800x400.png"> </picture> <div class="glue-card__content"> <div class="glue-card__tags glue-spacer-2-top"> <span class="glue-label">Gemma</span> <span class="glue-label">AI</span> <span class="glue-label">Announcements</span> <span class="glue-label">Best Practices</span> </div> <p class="glue-headline glue-headline--headline-5">Presentamos KerasHub: la tienda de modelos preentrenados</p> <div class="glue-card__cta-custom glue-spacer-3-top"> <span class="glue-cta">22 de octubre de 2024</span> <svg aria-hidden="true" class="glue-icon glue-icon--24px" role="presentation"> <use href="/glue-icon/#arrow-forward"></use> </svg> </div> </div> </div> </a> <a class="glue-card glue-carousel__item" href="/es/announcing-the-winners-of-the-gemini-api-developer-competition/"> <div aria-label="Announcing the Winners of the Gemini API Developer Competition!" class="glue-card__inner"> <picture class="glue-card__asset"> <img alt="Announcing the Winners of the Gemini API Developer Competition!" src="https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/Gemini_Competition_G4D_-_meta.2e16d0ba.fill-800x400.png"> </picture> <div class="glue-card__content"> <div class="glue-card__tags glue-spacer-2-top"> <span class="glue-label">Mobile</span> <span class="glue-label">Web</span> <span class="glue-label">Case Studies</span> <span class="glue-label">Community</span> </div> <p class="glue-headline glue-headline--headline-5">Announcing the Winners of the Gemini API Developer Competition!</p> <div class="glue-card__cta-custom glue-spacer-3-top"> <span class="glue-cta">21 de noviembre de 2024</span> <svg aria-hidden="true" class="glue-icon glue-icon--24px" role="presentation"> <use href="/glue-icon/#arrow-forward"></use> </svg> </div> </div> </div> </a> <a class="glue-card glue-carousel__item" href="/es/firebase-demo-day-24/"> <div aria-label="Learn to build and run AI powered apps at Firebase Demo Day ‘24" class="glue-card__inner"> <picture class="glue-card__asset"> <img alt="Learn to build and run AI powered apps at Firebase Demo Day ‘24" src="https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/Newletter_DayOf.2e16d0ba.fill-800x400.jpg"> </picture> <div class="glue-card__content"> <div class="glue-card__tags glue-spacer-2-top"> <span class="glue-label">Firebase</span> <span class="glue-label">Mobile</span> <span class="glue-label">Web</span> <span class="glue-label">Tutorials</span> <span class="glue-label">How-To Guides</span> </div> <p class="glue-headline glue-headline--headline-5">Learn to build and run AI powered apps at Firebase Demo Day ‘24</p> <div class="glue-card__cta-custom glue-spacer-3-top"> <span class="glue-cta">19 de noviembre de 2024</span> <svg aria-hidden="true" class="glue-icon glue-icon--24px" role="presentation"> <use href="/glue-icon/#arrow-forward"></use> </svg> </div> </div> </div> </a> <a class="glue-card glue-carousel__item" href="/es/inference-with-gemma-using-dataflow-and-vllm/"> <div aria-label="Inferencia con Gemma con Dataflow y vLLM" class="glue-card__inner"> <picture class="glue-card__asset"> <img alt="Inferencia con Gemma con Dataflow y vLLM" src="https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/Gemma-Dataflow-ML-vLLM.2e16d0ba.fill-800x400.png"> </picture> <div class="glue-card__content"> <div class="glue-card__tags glue-spacer-2-top"> <span class="glue-label">Gemma</span> <span class="glue-label">AI</span> <span class="glue-label">Cloud</span> <span class="glue-label">How-To Guides</span> <span class="glue-label">Problem-Solving</span> </div> <p class="glue-headline glue-headline--headline-5">Inferencia con Gemma con Dataflow y vLLM</p> <div class="glue-card__cta-custom glue-spacer-3-top"> <span class="glue-cta">13 de noviembre de 2024</span> <svg aria-hidden="true" class="glue-icon glue-icon--24px" role="presentation"> <use href="/glue-icon/#arrow-forward"></use> </svg> </div> </div> </div> </a> </div> </div> <!-- Navigation dots --> <div class="glue-carousel__navigation" aria-label="Choose a page" data-glue-carousel-navigation-label="Selected tab $glue_carousel_page_number$ of $glue_carousel_page_total$"> </div> </div> </div> </section> </div> <div class="footer-linkboxes__wrapper"> <nav class="footer-linkboxes" aria-label="Vínculos de pie de página"> <ul class="footer-linkboxes__list"> <li class="footer-linkbox"> <span class="footer-linkbox-heading"> Conectar </span> <ul class="footer-linkbox-list"> <li class="footer-linkbox-list__item"> <a href="//googledevelopers.blogspot.com" class="footer-linkbox-list__link"> Blog </a> </li> <li class="footer-linkbox-list__item"> <a href="https://goo.gle/googlefordevs" class="footer-linkbox-list__link"> Instagram </a> </li> <li class="footer-linkbox-list__item"> <a href="https://goo.gle/gdevs-li" class="footer-linkbox-list__link"> LinkedIn </a> </li> <li class="footer-linkbox-list__item"> <a href="https://goo.gle/gdevs-tw" class="footer-linkbox-list__link"> Twitter </a> </li> <li class="footer-linkbox-list__item"> <a href="https://goo.gle/developers" class="footer-linkbox-list__link"> YouTube </a> </li> </ul> </li> <li class="footer-linkbox"> <span class="footer-linkbox-heading"> Programas </span> <ul class="footer-linkbox-list"> <li class="footer-linkbox-list__item"> <a href="//www.womentechmakers.com" class="footer-linkbox-list__link"> Women Techmakers </a> </li> <li class="footer-linkbox-list__item"> <a href="//developers.google.com/community/gdg" class="footer-linkbox-list__link"> Google Developer Groups </a> </li> <li class="footer-linkbox-list__item"> <a href="//developers.google.com/community/experts" class="footer-linkbox-list__link"> Google Developer Experts </a> </li> <li class="footer-linkbox-list__item"> <a href="//developers.google.com/community/accelerators" class="footer-linkbox-list__link"> Accelerators </a> </li> <li class="footer-linkbox-list__item"> <a href="//developers.google.com/community/gdsc" class="footer-linkbox-list__link"> Google Developer Student Clubs </a> </li> </ul> </li> <li class="footer-linkbox"> <span class="footer-linkbox-heading"> Consolas de desarrollador </span> <ul class="footer-linkbox-list"> <li class="footer-linkbox-list__item"> <a href="//console.developers.google.com" class="footer-linkbox-list__link"> Google API Console </a> </li> <li class="footer-linkbox-list__item"> <a href="//console.cloud.google.com" class="footer-linkbox-list__link"> Google Cloud Platform Console </a> </li> <li class="footer-linkbox-list__item"> <a href="//play.google.com/apps/publish" class="footer-linkbox-list__link"> Google Play Console </a> </li> <li class="footer-linkbox-list__item"> <a href="//console.firebase.google.com" class="footer-linkbox-list__link"> Firebase Console </a> </li> <li class="footer-linkbox-list__item"> <a href="//console.actions.google.com" class="footer-linkbox-list__link"> Actions on Google Console </a> </li> <li class="footer-linkbox-list__item"> <a href="//cast.google.com/publish" class="footer-linkbox-list__link"> Cast SDK Developer Console </a> </li> <li class="footer-linkbox-list__item"> <a href="//chrome.google.com/webstore/developer/dashboard" class="footer-linkbox-list__link"> Chrome Web Store Dashboard </a> </li> </ul> </li> </ul> </nav> </div> <div class="footer-utility__wrapper"> <div> <nav class="footer-sites" aria-label="Otros sitios web de Google Developers"> <a href="https://developers.google.com/" class="site-logo-link" data-label="Site logo"> <img src="https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/3beac713-6e5f-4da4-a648-60ba0b0a6ffe/images/g-dev.svg" class="site-logo" alt="Google for Developers"> </a> <ul class="footer-sites-list"> <li class="footer-sites-item"> <a href="//developer.android.com" class="footer-sites-link"> Android </a> </li> <li class="footer-sites-item"> <a href="//developer.chrome.com/home" class="footer-sites-link"> Chrome </a> </li> <li class="footer-sites-item"> <a href="//firebase.google.com" class="footer-sites-link"> Firebase </a> </li> <li class="footer-sites-item"> <a href="//cloud.google.com" class="footer-sites-link"> Google Cloud Platform </a> </li> <li class="footer-sites-item"> <a href="//developers.google.com/products" class="footer-sites-link"> All products </a> </li> <li class="footer-sites-item"> <button aria-hidden="true" class="glue-cookie-notification-bar-control footer-sites-link"> Manage cookies </button> </li> </ul> </nav> <nav class="footer-utility-links"> <ul class="footer-utility-list"> <li class="footer-utility-item"> <a href="//developers.google.com/terms/site-terms" class="footer-utility-link"> Términos </a> </li> <li class="footer-utility-item"> <a href="//policies.google.com/privacy" class="footer-utility-link"> Privacidad </a> </li> </ul> <div class="language-selector footer" aria-label="Selecciona tu preferencia de idioma"> <button type="button" aria-controls="lang-selector-footer" aria-haspopup="true"> <svg role="presentation" aria-hidden="true" class="glue-icon lang-icon"> <use href="/glue-icon/#language"></use> </svg> <span class="lang-label">Español (Latam)</span> <svg role="presentation" aria-hidden="true" class="glue-icon lang-icon"> <use href="/glue-icon/#arrow-drop-down"></use> </svg> </button> <div id="lang-selector-footer" class="lang-menu hidden" role="menu"> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" href="/en/enabling-more-private-gen-ai/">English</a> </li> <li role="presentation"> <a role="menuitem" lang="es" aria-current="true" href="/es/enabling-more-private-gen-ai/">Español (Latam)</a> </li> <li role="presentation"> <a role="menuitem" lang="id" href="/id/enabling-more-private-gen-ai/">Bahasa Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" href="/ja/enabling-more-private-gen-ai/">日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" href="/ko/enabling-more-private-gen-ai/">한국어</a> </li> <li role="presentation"> <a role="menuitem" lang="pt-br" href="/pt-br/enabling-more-private-gen-ai/">Português (Brasil)</a> </li> <li role="presentation"> <a role="menuitem" lang="zh-hans" href="/zh-hans/enabling-more-private-gen-ai/">简体中文</a> </li> </ul> </div> </div> </nav> </div> </div> <script src="https://www.youtube.com/player_api"></script> <script src="//www.gstatic.com/glue/v27_1/glue.min.js"></script> <script type="text/javascript" src="https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/3beac713-6e5f-4da4-a648-60ba0b0a6ffe/js/dgc_blog.js"></script> <script src="https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.js" data-glue-cookie-notification-bar-category="2A" data-glue-cookie-notification-bar-site-id="developers.googleblog.com"> </script> <script src="https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/3beac713-6e5f-4da4-a648-60ba0b0a6ffe/js/blog_detail.js"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10