Note
Los modelos personalizados de GitHub Copilot Enterprise se encuentran en versión preliminar pública y están sujetos a cambios. Durante la versión preliminar pública, no hay ningún coste adicional para los clientes de Copilot Enterprise inscritos en la versión preliminar pública por crear o usar un modelo personalizado.
Requisito previo
El código en el que desea entrenar un modelo personalizado debe hospedarse en repositorios propiedad de su organización en GitHub.
Limitaciones
- En el caso de la versión preliminar pública, una empresa puede implementar un modelo personalizado en una sola organización.
- Las sugerencias de finalización de código basadas en el modelo personalizado solo están disponibles para los usuarios administrados que obtienen una suscripción de Copilot Enterprise de la organización en la que se implementa el modelo personalizado. Para más información, consulta Acerca de Enterprise Managed Users.
- El modelo personalizado no se usa para el código sugerido en las respuestas por GitHub Copilot Chat.
Acerca de los modelos personalizados de Copilot
De manera predeterminada, GitHub Copilot usa un modelo de lenguaje grande que se ha entrenado en un número grande de repositorios de código públicos, de modo que pueda proporcionar la finalización del código para una amplia gama de lenguajes de programación en muchos contextos diferentes. Puede usar este modelo como base para crear un modelo de lenguaje grande personalizado que entrene específicamente en su propio código. Este proceso se conoce a menudo como ajuste.
Al crear un modelo personalizado, habilite GitHub Copilot para mostrar sugerencias de finalización de código que tienen las siguientes características:
- Se basan en el código de sus propios repositorios designados.
- Se crean para lenguajes de programación propietarios o menos representados públicamente.
- Se adaptan según el estilo y las instrucciones de codificación de su organización.
y ofrece:
- Personalización: Copilot tiene un conocimiento detallado del código base, incluidos los módulos, funciones y bibliotecas internas disponibles. Un modelo personalizado puede ser especialmente beneficioso si el código no es típico de la amplia gama de código que se usa para entrenar el modelo base.
- Eficiencia y calidad: Copilot está mejor equipado para ayudarle a escribir código más rápido y con menos errores.
- Privacidad: el proceso de entrenamiento del modelo personalizado, el hospedaje y la inferencia son seguros y privados para su organización. Los datos siempre permanecen bajo su propiedad, nunca se usan para entrenar el modelo de otro cliente y el modelo personalizado nunca se comparte.
Acerca de la creación de modelos
Actualmente, en la versión preliminar pública, solo se permite que una organización de una empresa cree un modelo personalizado.
Como propietario de la organización que tiene permiso para crear un modelo personalizado, puede elegir qué repositorios de la organización se usarán para entrenar el modelo. Puede entrenar el modelo en uno, varios o todos los repositorios de la organización. El modelo se entrena en el contenido de las ramas predeterminadas de los repositorios seleccionados. Opcionalmente, puede especificar que solo se debe usar código escrito en determinados lenguajes de programación para el entrenamiento. El modelo personalizado se usará para generar sugerencias de finalización de código en todos los tipos de archivo, independientemente de si ese tipo de archivo se usó para el entrenamiento.
También puede elegir si los datos de telemetría (como las consultas introducidas por los usuarios y las sugerencias generadas por Copilot) deben usarse al entrenar el modelo. Para obtener más información, consulta Recopilación y uso de datos de telemetría para modelos personalizados, más adelante en este artículo.
Una vez iniciada, la creación de modelos personalizados tardará muchas horas en completarse. Puede comprobar el progreso del entrenamiento en la configuración de la organización. Cuando se complete la creación del modelo, o si no se completa, se notificará por correo electrónico a la persona que inició el entrenamiento del modelo.
Si se produce un error en la creación del modelo, Copilot seguirá usando el modelo actual para generar sugerencias de finalización de código.
Acerca del uso del modelo
Tan pronto como el modelo personalizado se haya creado correctamente, todos los usuarios administrados de la empresa que obtienen el acceso a Copilot Enterprise desde la organización en la que se implementa el modelo personalizado comenzarán a ver sugerencias de finalización de código de Copilot que se generan mediante el modelo personalizado. El modelo personalizado siempre se usará para cualquier código que editen estos usuarios, independientemente de dónde resida el código. Los usuarios no pueden elegir qué modelo se usa para generar las sugerencias de finalización de código que ven.
Cuándo puede beneficiarse de un modelo personalizado
El valor de un modelo personalizado es más pronunciado en entornos con:
- Lenguajes de programación propietarios o menos representados públicamente
- Bibliotecas internas o marcos personalizados
- Estándares personalizados y prácticas de codificación específicas de la empresa
Sin embargo, incluso en entornos estandarizados, el ajuste ofrece una oportunidad para ajustar más la finalización de código de Copilot con los estándares y las prácticas de codificación establecidos de la organización.
Evaluación de la eficacia de un modelo personalizado
Aunque es más probable que algunos entornos de codificación se beneficien del ajuste, no hay ninguna correlación garantizada entre comportamientos específicos en un código base y la calidad de los resultados que obtiene de un modelo personalizado. Es aconsejable evaluar los niveles de uso y satisfacción de las sugerencias de finalización de código de GitHub Copilot antes y después de la implementación de un modelo personalizado.
- Use la API de GitHub para evaluar la utilización de GitHub Copilot. Consulta Puntos de conexión de API REST para métricas de uso de GitHub Copilot.
- Encuesta a los desarrolladores para evaluar su nivel de satisfacción con las sugerencias de finalización de código de GitHub Copilot.
La comparación de los resultados de la encuesta a los desarrolladores y la API, desde antes y después de la implementación de un modelo personalizado, le proporcionará un indicador de la eficacia del modelo personalizado.
Creación de un modelo personalizado
Puede usar la configuración de la organización para crear un modelo de lenguaje grande personalizado.
-
En la esquina superior derecha de GitHub, seleccione la foto del perfil y haga clic en Sus organizaciones.
-
Junto a la organización, haga clic en Settings.
-
En la barra lateral izquierda, haga clic en Copilot y, a continuación, en Modelo personalizado.
-
En la página "Modelos personalizados", haga clic en Entrenar un nuevo modelo personalizado.
-
En "Seleccionar repositorios", elija Repositorios seleccionados o Todos los repositorios.
-
Si eligió Repositorios seleccionados, seleccione los repositorios que desea usar para el entrenamiento y haga clic en Aplicar.
-
Opcionalmente, si desea entrenar el modelo solo en el código escrito en determinados lenguajes de programación, en "Especificar lenguajes", empiece a escribir el nombre de un lenguaje que quiera incluir. Seleccione el lenguaje necesario en la lista que se muestra. Repita el proceso para cada lenguaje que desee incluir.
-
Para mejorar el rendimiento del modelo, seleccione la casilla con la etiqueta Incluir datos de consultas y sugerencias.
Note
Si la casilla no está disponible para seleccionarla, significa que la directiva Recopilación de datos de telemetría para modelos personalizados se ha deshabilitado en la configuración de la organización. Para obtener más información sobre cómo cambiar las directivas de su organización, consulta Administración de directivas de Copilot para empresas en su organización.
Al seleccionar esta opción, permite que Copilot recopile los datos de las solicitudes enviadas por el usuario y las sugerencias de finalización de código que se generaron. Una vez recopilados los datos suficientes, Copilot los usará como parte del proceso de entrenamiento del modelo, lo que le permitirá generar un modelo más eficaz.
Para obtener más información, consulta Recopilación y uso de datos de telemetría para modelos personalizados, más adelante en este artículo.
-
Haga clic en Crear nuevo modelo personalizado.
Comprobación del progreso de la creación de modelos
Puede consultar la configuración de la organización para obtener un indicador de cómo progresa la creación de modelos.
-
Vaya a la configuración de su organización de los modelos personalizados de Copilot. Consulta la sección anterior Creación de un modelo personalizado.
-
La primera vez que entrena un modelo, en la página que se muestra aparecen los resultados del entrenamiento.
Si no es el primer entrenamiento, se muestran el intento de entrenamiento actual y el anterior. Para ver los detalles del proceso de entrenamiento actual, haga clic en el primer botón de puntos suspensivos (…) y, a continuación, haga clic en Detalles del entrenamiento.
Motivos de los errores de entrenamiento
El entrenamiento del modelo puede generar errores por diversos motivos, entre los que se incluyen:
- Datos insuficientes o datos no representativos. La falta de datos proporcionados para el entrenamiento o demasiada replicación en los datos puede hacer que el ajuste sea inestable.
- Datos no diferenciados. Si los datos no son lo suficientemente diferentes de los datos públicos en los que se entrenó el modelo base, el entrenamiento puede generar un error o la calidad de las sugerencias de finalización de código del modelo personalizado solo puede mejorarse marginalmente.
- Un paso de preprocesamiento de datos puede encontrar tipos y formatos de archivos inesperados, lo que hace que se produzca un error. Una solución puede ser especificar solo determinados tipos de archivos para el entrenamiento.
Reentrenamiento o eliminación del modelo personalizado
Como propietario de la organización, puede actualizar o eliminar el modelo personalizado en la página de configuración de la organización.
Al volver a entrenar el modelo, se actualiza para incluir cualquier código nuevo que se haya agregado a los repositorios seleccionados para el entrenamiento. Puede volver a entrenar el modelo una vez a la semana.
- Vaya a la configuración de su organización de los modelos personalizados de Copilot. Consulta la sección anterior Creación de un modelo personalizado.
- En la página de entrenamiento del modelo, haga clic en el primer botón de puntos suspensivos (…) y, a continuación, haga clic en Volver a entrenar modelo o Eliminar modelo.
Si vuelve a entrenar el modelo, Copilot seguirá usando el modelo actual para generar sugerencias de finalización de código hasta que el nuevo modelo esté listo. Cuando el nuevo modelo esté listo, se usará automáticamente para las sugerencias de finalización de código para todos los usuarios administrados que obtengan una suscripción de Copilot Enterprise de la organización.
Si elimina el modelo personalizado, Copilot usará el modelo base para generar sugerencias de finalización de código para todos los usuarios que obtengan una suscripción de Copilot de la organización.
Recopilación y uso de datos de telemetría para modelos personalizados
Al crear un modelo personalizado, puede optar por permitir que GitHub recopile datos de telemetría con el fin de entrenar el modelo. Estos datos se usan para mejorar la calidad de las sugerencias de finalización de código que puede generar el modelo.
¿Qué datos de telemetría se recopilan?
- Consultas: toda la información enviada al modelo de lenguaje de GitHub Copilot mediante la extensión de Copilot, incluido el contexto de los archivos abiertos.
- Sugerencias: sugerencias de finalización de código que Copilot genera.
- Fragmento de código: instantánea del código 30 segundos después de aceptar una sugerencia, capturando cómo se integró la sugerencia en el código base. Esto ayuda a determinar si el usuario aceptó la sugerencia tal cual o la modificó antes de la integración final.
¿Cómo se usan los datos de telemetría?
Los datos de telemetría se usan principalmente para ajustar el modelo personalizado de Copilot para comprender y predecir mejor los patrones de codificación de la organización. En concreto, ayuda a:
- Mejorar la precisión del modelo: al analizar la telemetría recopilada, Copilot mejora el modelo personalizado para aumentar la relevancia y la precisión de las sugerencias de codificación futuras.
- Supervisar el rendimiento: los datos de telemetría permiten que GitHub supervise el rendimiento de los modelos personalizados en comparación con el modelo base, lo que permite mejoras continuas.
- Bucles de retroalimentación: los datos ayudan a GitHub a crear bucles de retroalimentación donde el modelo aprende de la utilización real, adaptándose a su entorno de codificación específico a lo largo del tiempo.
Almacenamiento y retención de datos
- Almacenamiento de datos: todos los datos de telemetría recopilados se almacenan en el almacén de datos de Copilot, un entorno seguro y restringido. Los datos se cifran y se aíslan para evitar el acceso no autorizado.
- Período de retención: los datos de telemetría se conservan durante un periodo sucesivo de 28 días. Después de este periodo, los datos se eliminan automáticamente de los sistemas de GitHub, lo que garantiza que solo se usen datos recientes y pertinentes para el entrenamiento y la mejora del modelo.
Privacidad y seguridad de datos
GitHub se compromete a garantizar que los datos de la organización permanezcan privados y seguros.
- Uso exclusivo: los datos de telemetría recopilados de la organización se usan exclusivamente para entrenar el modelo personalizado y nunca se comparten con otras organizaciones ni se usan para entrenar modelos de otros clientes.
- Prevención de pérdida de datos: GitHub implementa protocolos de aislamiento de datos estrictos para evitar la contaminación cruzada entre los datos de las distintas organizaciones. Esto significa que el código y la información propietarios están protegidos contra la exposición a otras organizaciones o individuos.
Consideraciones importantes
-
Activación de la telemetría: la participación en la recopilación de datos de telemetría es opcional y se controla a través de las directivas de administración de la organización. Los datos de telemetría solo se recopilan cuando se habilitan explícitamente para entrenar modelos personalizados.
-
Riesgos potenciales: aunque GitHub toma medidas exhaustivas para evitar la pérdida de datos, hay escenarios en los que se pueden incluir datos confidenciales, como vínculos internos o nombres, en la telemetría y, posteriormente, se pueden usar en el entrenamiento. Se recomienda revisar y filtrar los datos que envíe para el entrenamiento a fin de minimizar estos riesgos.
Para obtener más información sobre nuestras prácticas de control de datos, consulte GitHub Copilot Trust Center o el contrato de protección de datos de GitHub.