TRL documentation

Experimental

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.17.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Experimental

Este directorio contiene un espacio mínimo y claramente separado para iterar rápidamente sobre nuevas ideas.

Contrato de estabilidad: Todo lo que esté bajo trl.experimental puede cambiar o eliminarse en cualquier versión (incluidas las versiones de parche) sin una obsolescencia previa. No dependa de estas API para cargas de trabajo de producción.

Ruta de promoción (simple)

  1. Prototipar fuera del repositorio principal: Comienza el desarrollo en tu propio fork o en un repositorio separado para iterar rápidamente.
  2. Inclusión experimental: Cuando esté listo para usuarios iniciales, mueva la idea a trl.experimental.<feature>.
  3. Mejorar: Añadir pruebas, una breve documentación/ejemplo y demostrar el uso.
  4. Promover: Una vez que la API demuestra ser estable y hay un interés o adopción claros por parte de la comunidad, muévela a trl.<feature> (módulo estable).

Eliminación

Experimental es un área de preparación, no un almacenamiento a largo plazo: una función se promociona o se elimina. La eliminación no requiere un ciclo de obsolescencia, tal como se establece en el contrato de estabilidad anterior. El código sigue disponible en el historial de git, y la entrada del índice de papers permanece, apuntando a la última versión que incluyó la implementación.

Ningún umbral activa una eliminación. Es una decisión de criterio, tomada en la solicitud de eliminación con los números a la vista de todos. Lo que ese criterio pondera:

  • Uso. Telemetría, etiquetas del Hub y respuestas en la solicitud de extracción o en un hilo de discusión. Ninguna de ellas es concluyente por sí sola, pero si todas están en silencio, es una señal fuerte.
  • Problemas externos y solicitudes de extracción que surgen de la ejecución de la funcionalidad, en contraposición a los informes generados mediante el análisis del código.
  • Si un entrenador estable ya lo cubre. Si es así, eso pesa más que el uso.
  • Coste. Tiempo de CI, mantenimiento, carga de triaje.
  • Consumidores aguas abajo. Bibliotecas que lo importan.
  • Propietario. Alguien que desea que se promueva y está dispuesto a realizar el trabajo.
  • Antigüedad. Si ha estado disponible el tiempo suficiente para que la comunidad lo encuentre y lo pruebe.

Preguntas frecuentes

¿Por qué no usar simplemente ramas? Porque las ramas no se entregan a los usuarios; el código experimental dentro del paquete permite a los primeros adoptadores probar cosas y dar retroalimentación.

¿Pueden cambiar o desaparecer estas API sin previo aviso? Sí. Todo lo que esté dentro de trl.experimental puede cambiar o desaparecer en cualquier versión.

¿Debo usar esto en producción? Solo si no te importa actualizar tu código rápidamente cuando las cosas cambien.

¿Los mantenedores corregirán rápidamente los problemas en trl.experimental? No necesariamente. El módulo experimental es un espacio de pruebas para nuevas ideas, y los mantenedores pueden no priorizar la corrección de errores ni las solicitudes de funciones allí. Los problemas pueden permanecer sin resolver hasta que (o a menos que) la función pase a la API estable.

Contribuí una implementación de un paper. ¿Se puede eliminar? Sí. Cualquier cosa bajo trl.experimental puede eliminarse, incluidas las implementaciones de papers. Si eso ocurre, la entrada del índice de papers se mantiene y apunta a la última versión que incluyó el código.

¿Cómo silenciar la notificación en tiempo de ejecución?

Uso: export TRL_EXPERIMENTAL_SILENCE=1.

Update on GitHub