INTENT: Interactive Tensor Transformation Synthesis
Authors
AutoML InterfacesComputational Methods in HCISoftware Engineers & DevelopersAI/ML Researchers & EngineersStatisticians & Data Scientists
Document Title
INTENT: Interactive Tensor Transformation Synthesis
Document Information
- Subject Area: Interactive visualization of deep learning and program synthesis
- Keywords: Program synthesis, deep learning, interactive visualization, TensorFlow, analogical learning, user study, human-computer interaction, dataflow graph, tensor transformation, interpretability
Research Background and Problem
-
Problems and Challenges:
- The outstanding performance of deep learning (DL) has led to its widespread application, but programming frameworks (e.g., TensorFlow) pose a high learning curve for beginners.
- Tensor operations in TensorFlow are complex, requiring solid knowledge of linear algebra and calculus.
- Current DL programming faces the following issues:
- Insufficient or obscure API documentation.
- A large number of API operators causing decision paralysis.
- Operations used in programming often differ from traditional programming semantics, such as conditional operations.
- Understanding and verifying synthesized code is challenging, commonly referred to as the "last-mile problem."
-
Significance of the Research:
- Lowering the barrier for ordinary programmers to adopt DL frameworks.
- Improving the interpretability and debuggability of automatically generated (synthesized) code, enhancing user trust in the code.
- Enabling programmers to more efficiently accomplish complex tensor transformation tasks.
-
Research Motivation:
- Previous TensorFlow synthesis tools (e.g., TF-Coder) can generate code but lack interactivity, making it difficult for users to understand the generated code or customize the synthesis process.
Solution
-
Method and Innovation:
- INTENT System: Proposes an interactive program synthesis system—INTENT—that can automatically generate TensorFlow tensor transformation code based on user-provided natural language descriptions and input/output examples.
- Three-Module Architecture:
- Multimodal tensor transformation code synthesizer.
- Dataflow graph visualization tool to display intermediate operation steps and dataflow in the code.
- Instant program verification module, allowing users to directly modify and verify the code.
- Key Innovations:
- Introduces dataflow graph visualization technology to intuitively present the tensor transformation process.
- Implements a synthesis adjustment mechanism based on user feedback (e.g., marking operators as "desired" or "unnecessary").
- Provides an embedded code editor and automatic verification, eliminating the need for users to switch to an IDE.
-
Implementation Steps and Key Techniques:
- Utilize input/output examples, multilayer perceptron (MLP), and Naive Bayes models to infer the priority of program operators.
- Construct a weighted synthesis search algorithm that prioritizes solutions with higher priority and lower complexity in the program space.
- Leverage TensorFlow's automatic differentiation capabilities to compute the dependency relationships of tensor elements in the program and visualize data element provenance paths to enhance user understanding.
Research Outcomes
-
Specific Achievements:
- Successfully developed the INTENT system and open-sourced it on GitHub.
- Designed a dataflow graph + data provenance visualization tool, significantly improving users' understanding of the generated code.
- Implemented functionality for users to mark operators (e.g., "desired" or "unnecessary") and perform embedded code testing.
-
Experiments and Evaluation:
- User Study:
- Conducted a user study with 18 programmers, comparing task completion efficiency between INTENT and TF-Coder.
- Task success rate using INTENT was 100%, compared to 78% for TF-Coder.
- The average task completion time using INTENT was 5.8 minutes, only half of that for TF-Coder.
- Users' confidence in the synthesized results significantly increased when using INTENT (Likert score improved from 5.44 to 6.72, p=0.005).
- Visualization Effectiveness:
- The dataflow graph helped users quickly understand the logic of complex tensor operations, with 89% of users expressing strong approval.
- Instant verification and adjustment functionality reduced the need for users to switch development environments.
- User Study:
-
Advantages over Existing Solutions:
- Compared to the non-interactive TF-Coder, INTENT achieved significant improvements in user experience, code generation interpretability, and the ability to tackle complex tasks.
- Dataflow visualization added semantic transparency to the synthesized code, addressing the "last-mile problem."
-
Limitations and Future Directions:
- Time Issues: Program generation can take tens of seconds or longer in cases with large search spaces.
- Limited Support: Currently supports only TensorFlow tensor transformations; future work could extend to broader DL tasks (e.g., neural network architecture construction).
- User Type Bias: The system is designed for developers with programming experience; future exploration could focus on adapting it for non-programming users.
- Expansion Directions:
- Optimization algorithms (e.g., distributed computing) to reduce synthesis time.
- Support for designing and synthesizing entire neural networks through specific constraints or natural language.
Research Questions / Practical Problems
Question signals indexed for this paper.
help
Research Questions
3- How can a tool be designed so lay programmers can intuitively complete complex TensorFlow tensor transformation tasks?Category: LLM Interfaces, Prompts, and Interaction UnderstandingSimilar questionsarrow_forward
- How effective is dataflow graph visualization in improving deep learning program explainability and user understanding?Category: LLM Interfaces, Prompts, and Interaction UnderstandingSimilar questionsarrow_forward
- Can interactive program synthesis systems increase programmers' trust in automatically generated code?Category: LLM Interfaces, Prompts, and Interaction UnderstandingSimilar questionsarrow_forward
lightbulb
Practical Problems
1- Lay programmers struggle to get started with complex TensorFlow tensor operations and verify code correctness.Category: LLM Interfaces, Prompts, and Interaction UnderstandingSimilar questionsarrow_forward
- 71%
Model LineUpper: Supporting Interactive Model Comparison at Multiple Levels for AutoML
IUI '21· Explainable AI (XAI) +3
- 67%
Towards Effective Foraging by Data Scientists to Find Past Analysis Choices
CHI '19· Interactive Data Visualization +1
- 67%
ScrAPIr: Making Web Data APIs Accessible to End Users
CHI '20· AutoML Interfaces +1
- 67%
Efficiently correcting machine learning: considering the role of example ordering in human-in-the-loop training of image classification models
IUI '22· AutoML Interfaces +1
- 60%
Enabling Data-Driven API Design with Community Usage Data: A Need-Finding Study
CHI '20· Computational Methods in HCI
Based on Jaccard similarity of research subtopics & professions (≥60%)
Quick Actions
AdRecommended
Learn AI Coding at CodeNow
open_in_newOpen DOI Link
DOI: https://doi.org/10.1145/3526113.3545653
At a Glance
fact_checkPaper Snapshot
dataset
Source
UIST
calendar_month
Year
2022
emoji_events
Award
No award tagged
group
Authors
6 authors
sell
Subtopics
AutoML Interfaces, Computational Methods in HCI
work
Professions
Software Engineers & Developers, AI/ML Researchers & Engineers, Statisticians & Data Scientists
article
Content Status
Full text indexed
hub
Related Papers
5 related papers