Field device system
By receiving and evaluating real-time device data from the field device, updating the training data and generating new models, the problem of poor performance of machine learning models after training in the field device is solved, and the accuracy and stability of the model are improved.
Patent Information
- Application Number
- CN202380058837.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-15
- Filing Date
- 2023-07-17
- Publication Date
- 2025-03-21
AI Technical Summary
The prior art is difficult to effectively solve the performance-related problems of machine learning models after training in field devices, resulting in poor performance of models in practical applications.
By receiving real-time device data from the field site, evaluating model performance, signaling performance issues, and updating training data with updated real-time data to generate new post-trained machine learning models to deploy to the field site.
Real-time monitoring and update model performance is achieved, the accuracy and stability of the model in field applications is improved, and performance-related problems are solved.
Smart Images

Figure CN119677930A_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims priority to and the benefit of U.S. Provisional Application Serial No. 63 / 389,627, filed on July 15, 2022, which is incorporated herein by reference in its entirety. Background Art
[0003] A reservoir can be an underground formation that can be characterized at least in part by its porosity and fluid permeability. As an example, a reservoir may be part of a basin (such as a sedimentary basin). A basin may be a depression in which sediments accumulate (e.g., caused by plate tectonic activity, sedimentation, etc.). As an example, when source rocks are combined with appropriate burial depths and durations, a petroleum system may develop within the basin, thereby forming a reservoir including hydrocarbon fluids (e.g., oil, natural gas, etc.). Various operations may be performed on site to obtain such hydrocarbon fluids and / or produce such hydrocarbon fluids. For example, consider equipment operations, in which equipment can be controlled to perform one or more operations. Summary of the invention
[0004] A method may include receiving a result from a field device at a field site, wherein the result is generated using a trained machine learning model at the field site and real-time field device data from the field device at the field site; issuing a signal in response to an evaluation of the result, wherein the signal indicates a performance-related issue with the trained machine learning model; updating training data with at least a portion of the real-time field device data to address the performance-related issue; and generating a new trained machine learning model using at least a portion of the updated training data for deployment to the field site. A system may include: a processor; a memory accessible to the processor; and processor-executable instructions stored in the memory to instruct the system to: receive a result from a field device at a field site, wherein the result is generated using a trained machine learning model at the field site and real-time field device data from the field device at the field site; issuing a signal in response to an evaluation of the result, wherein the signal indicates a performance-related issue with the trained machine learning model; updating training data with at least a portion of the real-time field device data to address the performance-related issue; and generating a new trained machine learning model using at least a portion of the updated training data to deploy to the field site. One or more computer-readable storage media may include processor-executable instructions for instructing a computing system to: receive results from a field device at a field site, wherein the results are generated using a trained machine learning model at the field site and real-time field device data from the field device at the field site; issue a signal in response to an evaluation of the results, wherein the signal indicates a performance-related issue with the trained machine learning model; update training data with at least a portion of the real-time field device data to address the performance-related issue; and generate a new trained machine learning model using at least a portion of the updated training data for deployment to the field site. Various other devices, systems, methods, etc. are also disclosed.
[0005] This Summary is provided to introduce a selection of concepts that are further described below in the Detailed Description. This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The features and advantages of the described implementations may be more readily understood by referring to the following description in conjunction with the accompanying drawings.
[0007] Figure 1 An example system including various framework components associated with one or more geological environments is illustrated;
[0008] Figure 2 illustrates multiple examples of devices, one example of a network, and one example of a system;
[0009] Figure 3 An example of a device is shown;
[0010] Figure 4 The figure shows an example of a pumping device;
[0011] Figure 5 Figure shows an example of a system;
[0012] Figure 6 An example of the method is shown;
[0013] Figure 7 Figure shows an example of a system;
[0014] Figure 8 A graphical user interface illustrating an example of a system and multiple locations of field devices;
[0015] Fig. 9 Figure shows an example of a system;
[0016] Fig.10 An example of a method and an example of a system are illustrated;
[0017] Fig.11 An example of the method is shown;
[0018] Fig.12 An example of the method is shown;
[0019] Fig.13 illustrates multiple examples of computers and network devices; and
[0020] Fig.14 The diagrams illustrate example components of systems and networked systems. DETAILED DESCRIPTION
[0021] This description is not intended to be limiting but is made for the purpose of describing the general principles of implementations. Reference should be made to the issued claims to determine the scope of the described implementations.
[0022] Figure 1 An example of a system 100 is shown that includes a workspace framework 110 that can be used for instantiation, presentation, interaction with, etc., a graphical user interface (GUI) 120. Figure 1 In the example of , GUI 120 may include graphical controls for a computing framework (eg, application) 121 , projects 122 , visualization 123 , one or more other features 124 , data access 125 , and data storage 126 .
[0023] exist Figure 1In the example of , the workspace framework 110 may be customized for a specific geological environment (such as the example geological environment 150). For example, the geological environment 150 may include multiple layers (e.g., stratification) that include a reservoir 151 and may intersect a fault 153. As an example, the geological environment 150 may be equipped with various sensors, detectors, predictors, actuators, etc. For example, equipment 152 may include communication circuits for receiving and transmitting information relative to one or more networks 155. Such information may include information associated with downhole equipment 154, which may be equipment for obtaining information, assisting in resource recovery, etc. Other equipment 156 may be located at a location remote from the well site and include sensing, detection, prediction, transmission or other circuits. Such equipment may include storage and communication circuits for storing and transmitting data, instructions, etc. As an example, one or more satellites may be provided for communication, data acquisition, etc. For example, Figure 1 A satellite is shown in communication with a network 155 that may be configured for communication, noting that the satellite may additionally or alternatively include circuitry for imaging (eg, spatial, spectral, temporal, radioactive, etc.).
[0024] Figure 1 The geological environment 150 is also shown as optionally including equipment 157 and 158 associated with a well, the well including a substantially horizontal portion that may intersect one or more fractures 159. For example, consider a well in a shale formation, which may include natural fractures, artificial fractures (e.g., hydraulic fractures), or a combination of natural fractures and artificial fractures. As an example, a well may be drilled into a laterally extending reservoir. In such an example, there may be lateral changes in properties, stresses, etc., where an assessment of such changes may help plan, operate, etc. to develop a laterally extending reservoir (e.g., via fracturing, injection, extraction, etc.). As an example, equipment 157 and / or 158 may include multiple components, a system or multiple systems, etc. for fracturing, seismic sensing, seismic data analysis, evaluating one or more fractures, etc.
[0025] exist Figure 1 In the example of , GUI 120 shows some examples of computing frameworks, including DRILLPLAN, PETREL, TECHLOG, PETROMOD, ECLIPSE, and INTERSECT frameworks (SLB, Houston, Texas).
[0026] The DRILLPLAN framework is used for digital well construction planning and includes multiple features for automating repetitive tasks and verification workflows, thereby enabling rapid generation of drilling programs (eg, digital drill plans, etc.) of improved quality while ensuring consistency.
[0027] The PETREL framework can be part of the DELFI cognitive exploration and production (E&P) environment (SLB, Houston, TX, referred to as the DELFI environment), used in, for example, geoscience and geoengineering to analyze subsurface data from exploration to production of fluids from reservoirs.
[0028] One or more types of frameworks may be implemented within or in an operatively coupled manner to a DELFI environment, which is a secure, cognitive, cloud-based collaborative environment that integrates data and workflows with digital technologies such as artificial intelligence (AI) and machine learning (ML). As an example, such an environment may provide operations involving one or more frameworks. A DELFI environment may be referred to as a DELFI framework, which may be one of a plurality of frameworks. As an example, a DELFI framework may include various other frameworks, which may include, for example, one or more types of models (e.g., simulation models, etc.).
[0029] The TECHLOG framework can handle and process field and laboratory data from a variety of geological environments (e.g., deepwater exploration, shale, etc.). The TECHLOG framework can structure wellbore data for analysis, planning, etc.
[0030] The PIPESIM simulator includes a solver that can provide simulation results, such as, for example, multiphase flow results (e.g., from the reservoir to the wellhead and beyond, etc.), flowline and surface facility performance, etc. The PIPESIM simulator can be integrated, for example, with the AVOCET Production Operations Framework (SLB, Houston, Texas). As an example, a reservoir or multiple reservoirs can be simulated with respect to one or more enhanced recovery technologies (e.g., considering thermal processes such as steam assisted gravity drainage (SAGD), etc.). As an example, the PIPESIM simulator can be an optimizer that can optimize one or more operating scenarios at least in part by simulating physical phenomena.
[0031] The ECLIPSE framework provides numerical solutions for reservoir simulators (eg, as a computational framework) to quickly and accurately predict the dynamic behavior of various types of reservoirs and development scenarios.
[0032] The INTERSECT framework provides a high-resolution reservoir simulator for simulating detailed geological features and quantifying uncertainties, for example, by creating accurate production scenarios, and when integrating accurate models of surface facilities and field operations, the INTERSECT framework can produce reliable results that can be continuously updated through real-time data exchange (e.g., one or more types of data acquisition equipment from the field that can acquire data during one or more types of field operations, etc.). The INTERSECT framework can provide completion configurations for complex wells, where such configurations can be built in the field; can provide detailed chemical enhanced oil recovery (EOR) recipes, where such recipes can be implemented in the field; can analyze the application of steam injection and other thermal EOR technologies to implement advanced production control in terms of reservoir connection and flexible field management in the field, and the flexibility to write customized solutions for improved modeling and field management control. As with other example frameworks, the INTERSECT framework can be used as part of the DELFI cognitive E&P environment, for example, for rapid simulation of multiple concurrent cases. For example, a workflow can utilize one or more of the DELFI on-demand reservoir simulation features.
[0033] The aforementioned DELFI environment provides various features for workflows related to subsurface analysis, planning, construction, and production, as shown, for example, in the workspace framework 110. Figure 1 As shown, the output from the workspace framework 110 can be used to guide, control, etc. one or more processes in the geological environment 150, and feedback 160 (e.g., acquired data regarding operating conditions, equipment conditions, environmental conditions, etc.) can be received via one or more interfaces in one or more forms.
[0034] As an example, the workflow may proceed to a geology and geophysics ("G&G") service provider, which may generate well trajectories, which may involve the execution of one or more G&G software packages.
[0035] exist Figure 1 In the example of , visualization features 123 may be implemented via workspace framework 110, for example, to perform tasks associated with one or more of a subsurface region, planning operations, constructing well and / or surface fluid networks, and producing from a reservoir.
[0036] As an example, the visualization process can implement one or more of the various features that can be suitable for one or more network applications. For example, the template may involve the use of JAVASCRIPT object representation format (JSON) and / or one or more other languages / formats. As an example, the framework may include one or more converters. For example, consider JSON to PYTHON converter and / or PYTHON to JSON converter. In this method, one or more features of the framework that can be implemented in a language can be accessed via a converter. For example, consider the APACHE SPARK framework, which can include features that can be implemented in a specific language, wherein the converter can convert the code of another language into the specific language, so that one or more features in the feature can be utilized. The APACHE SPARK framework also provides an analysis engine for large-scale data processing and an interface for programming clusters with implicit data parallelism and fault tolerance. As an example, the production site can include various types of equipment, various frameworks can be used to operate, etc., wherein one or more languages can be utilized. In such an example, the converter can provide feature flexibility and / or compatibility.
[0037] As an example, a visualization feature may provide visualization of various earth models, features, and the like in one or more dimensions. As an example, a visualization feature may provide a presentation of information in multiple dimensions, which may optionally include a multi-resolution presentation. In such an example, the information being presented may be associated with one or more frameworks and / or one or more data stores. As an example, a visualization feature may include one or more control features for controlling equipment, which may include, for example, field equipment that can perform one or more field operations. As an example, a workflow may utilize one or more frameworks to generate information that can be used to control one or more types of field equipment (e.g., drilling equipment, cable equipment, fracturing equipment, etc.).
[0038] Although in Figure 1Several simulators are illustrated in the examples of, but one or more other simulators may be utilized in addition or alternatively. For example, consider the VISAGE geomechanical simulator (SLB, Houston, Texas) or the PETROMOD simulator (SLB, Houston, Texas), etc. The VISAGE simulator includes a finite element numerical solver that can provide simulation results, such as, for example, compaction and settlement of geological environments, well and completion integrity in geological environments, cap rock and fault closure integrity in geological environments, fracturing behavior in geological environments, thermal recovery in geological environments, CO2 disposal, etc. The PETROMOD framework provides petroleum system modeling capabilities that can combine one or more of seismic, well, and geological information to model the evolution of sedimentary basins. The PETROMOD framework can predict whether and how a reservoir is filled with hydrocarbons, including the source and time of hydrocarbon generation, migration routes, amount, and hydrocarbon type under underground or surface conditions. The MANGROVE simulator (SLB, Houston, Texas) optimizes production enhancement designs (e.g., production enhancement treatment operations, such as hydraulic fracturing) in a reservoir-centric environment. The MANGROVE framework can combine scientific and experimental work to predict the geomechanical propagation of hydraulic fractures, reactivation of natural fractures, etc., and production prediction within a 3D reservoir model (e.g., production from drainage areas of a reservoir, where fluids move into and / or out of a well via one or more types of fractures). The MANGROVE framework can provide results related to the heterogeneous interactions between hydraulic fracture networks and natural fracture networks, which may help optimize the number and location of fracture treatment stages (e.g., stimulation treatments), for example, to improve perforation efficiency and production.
[0039] Figure 2 Shown are an example of a geological environment 210 including reservoirs 211 - 1 and 211 - 2 , which may be faulted by faults 212 - 1 and 212 - 2 ; an example of a network of equipment 230 ; an enlarged view of a portion of the network of equipment 230 referred to as network 240 ; and an example of a system 250 . Figure 2 Some examples of offshore equipment 214 for oil and gas operations associated with reservoir 211-2 and onshore equipment 216 for oil and gas operations associated with reservoir 211-1 are shown. Figure 2 In the example of FIG. 2 , geological environment 210 may include fluids such as oil (o), water (w), and gas (g), which may be layered in reservoirs 211 - 1 and 211 - 2 .
[0040] exist Figure 2In the example of , equipment 214 and 216 may include drilling equipment, cable equipment, production equipment, etc. For example, consider that equipment 214 includes a drilling rig that can drill into the formation to reach a reservoir target where a well can be completed to produce hydrocarbons. As an example, equipment 216 may include production equipment, such as a wellhead, valves, pump equipment, gas processing equipment, etc. As an example, Figure 1 One or more features of the system 100 may be used for operations in the geological environment 210. For example, consider using a drilling or drilling planning framework, a drilling execution framework, a production framework, etc. to plan, execute, etc. one or more drilling operations, production operations, etc.
[0041] exist Figure 2 In FIG. 2 , network 240 may be an example of a relatively small production system network. As shown, network 240 forms a tree-like structure in which flow pipes represent branches (eg, segments) and connection points represent nodes. Figure 2 As shown, the network 240 provides for the transport of fluids (e.g., oil, water, and / or gas) from the well location along the flow lines interconnected at the connection points, and ultimately delivered to the central processing facility (CPF). In the case where the fluid includes solids (e.g., sand, etc.), one or more devices may be used for the removal, collection, etc. of the solids. The network 240 may include various types of equipment, including ground and / or downhole equipment. The equipment may include power equipment, which may be powered using one or more power sources. For example, consider power from sources such as a power grid, solar energy, wind energy, fuel generators (e.g., gas turbine generators, internal combustion engine generators, etc.), and / or power from mechanical, hydraulic, etc. As described above, the equipment may include fluid handling equipment, which may include a pump, which may be driven by one or more power sources. The pump may be a surface pump, a downhole pump, or part of a system having a surface component and a downhole component. As an example, the pump may be a compressor. The compressor may be a device capable of increasing the pressure of a fluid (e.g., air, natural gas, etc.). As an example, a compressor may utilize a positive displacement mechanism to compress a fluid to a higher pressure so that the fluid may flow through one or more pipelines, etc.
[0042] exist Figure 2 In the example of , various parts of network 240 may include pipes, which may be in the form of one or more pipelines. For example, consider two pipes, which may be a pipe leading to Man1 and a pipe leading to Man3 in network 240, where Man1, Man2, and Man3 are manifolds. Figure 2 In the example of , the manifold allows fluid to flow from each well (well_11, well_12, well_21 and well_22) to the CPF. The fluid can be single-phase and / or multi-phase. The network 240 may include one or more pumps that can be suitable for single-phase fluids and / or multi-phase fluids.
[0043] like Figure 2 As shown, the example system 250 includes one or more information storage devices 252, one or more computers 254, one or more networks 260, and instructions 270 (e.g., organized as one or more sets of instructions). As for the one or more computers 254, each computer may include one or more processors (e.g., or processing cores) 256 and a memory 258 for storing instructions 270 (e.g., one or more sets of instructions), which are executable by at least one of the one or more processors. As an example, the computer may include one or more network interfaces (e.g., wired or wireless), one or more graphics cards, a display interface (e.g., wired or wireless), etc. As an example, images, such as ground images (e.g., satellite, geological, geophysical, etc.), may be stored, processed, transmitted, etc. As an example, the data may include SAR data, GPS data, etc., and may be stored, for example, in one or more storage devices in the storage device 252. As an example, the information that may be stored in one or more storage devices in the storage device 252 may include information about equipment, equipment location, equipment orientation, fluid properties, etc.
[0044] As an example, instructions 270 may include instructions (e.g., stored in memory 258) that are executable by at least one of the one or more processors 256 to instruct system 250 to perform various actions. As an example, system 250 may be configured such that instructions 270 provide instructions for establishing a framework in which, for example, network modeling may be performed (see, e.g., Figure 1 As an example, one or more methods, techniques, etc. may be performed using one or more sets of instructions, such as the PIPESIM framework of an example. Figure 2 Instructions 270. As an example, instructions 270 may include instructions for one or more of: monitoring one or more portions of device network 230, controlling one or more portions of device network 230, receiving data from one or more portions of device network 230, etc.
[0045] As an example, Figure 2 The various graphics in may be part of a graphical user interface (GUI), which may be generated using executable instructions that may be executed locally and / or remotely using local and / or remote display devices (e.g., mobile devices, workstations, etc.).
[0046] Figure 3 Examples of devices 310, 330, 350, and 370 that can be used to move fluids in the field are shown. As an example, Figure 1 Geological Environment 150 and / or Figure 2The geological environment 210 may include one or more instances of multiple examples of equipment 310, 330, 350, and 370. As shown, equipment 310 may include a gas lift device, equipment 330 may include a sucker rod pump device, equipment 350 may include an electric submersible pump (ESP) device, and equipment 370 may include a progressive cavity pump (PCP) device.
[0047] exist Figure 3 310, 330, 350, and 370 may be artificial lift devices, wherein one or more controllers 312, 332, 352, and 372 may be included in and / or operatively coupled to the devices 310, 330, 350, and 370. In such an example, one or more features of the system 250 may be included in and / or operatively coupled to the one or more controllers 312, 332, 352, and 372.
[0048] Artificial lift equipment can add energy to the fluid column in the wellbore for the purpose of activating and / or increasing the production of the well. Artificial lift systems can utilize a variety of operating principles (e.g., sucker rod pumps, gas lift, electric submersible pumps, etc.). Thus, artificial lift equipment can operate by utilizing one or more resources (e.g., fuel, electricity, natural gas, etc.).
[0049] Gas lift is an artificial lift method in which gas is injected into the production tubing to reduce the hydrostatic pressure of the fluid column. The resulting reduction in bottomhole pressure allows reservoir fluids to enter the wellbore at a higher flow rate. In gas lift, the injected gas can be transported along the oil casing annulus and enter the production system through a series of gas lift valves. In this method, the gas lift valve position, operating pressure, and gas injection rate can be operating parameters (e.g., determined by specific well conditions, etc.).
[0050] A sucker rod pump is an artificial lift pumping system that uses a surface power source to drive a downhole pump assembly. For example, a beam and crank assembly can generate reciprocating motion in a sucker rod string connected to the downhole pump assembly. In such an example, the pump can include a plunger and valve assembly to convert the reciprocating motion into vertical fluid movement. As an example, a sucker rod pump can be driven by electricity and / or fuel. For example, the prime mover of the sucker rod pump can be an electric motor or an internal combustion engine.
[0051] An ESP is an artificial lift system that utilizes an electrically driven downhole pumping system. In such an example, the pump may include a staged centrifugal pump section that may be specifically configured to suit the production and wellbore characteristics of a given application. ESP systems offer flexibility in a range of sizes and output flow capacities.
[0052] The PCP is a sucker rod pumping unit that uses a rotor and a stator. In this method, the rods are rotated by an electric motor at the surface to cause the fluid contained in the chamber to flow upward. The PCP may be referred to as a rotary positive displacement unit.
[0053] exist Figure 3 In an example, one or more sensors may be included. For example, consider an instrument coupled to a downhole end of an ESP, where signals from the instrument sensors may be transmitted to surface equipment using a power cable and / or a dedicated instrument cable. For example, consider a PHOENIX instrument (SLB, Houston, Texas), which includes sensors that can measure intake pressure, temperature, oil temperature, winding temperature, vibration, current leakage, and / or pump discharge pressure. The instrument may be operably coupled to a controller, which may, for example, provide control of swirl of the ESP, grinding of the ESP, flux of the ESP, and gas-related issues of the ESP. For example, during operations in the presence of sand (e.g., suspended solids, etc.), sand may accumulate in one or more stages of the ESP, at which point a control scheme may operate to clear at least a portion of the sand from the ESP.
[0054] As an example, where the PCP has some sand lifting capability, the PCP may be suitable for production from a well characterized by a high viscosity fluid and a high sand fraction. However, where a control scheme can be used to remove at least a portion of the sand from the PCP, the sand may accumulate.
[0055] As an example, a sucker rod pump may work by stroke pumping to release sand and other material. In such an example, to minimize damage to the plunger and barrel, a slotted plunger may be used to capture the sand and carry it away from those components.
[0056] As an example, gas lift equipment can be used in applications where abrasives such as sand may be present and can be used in low production rate, high gas-to-oil ratio wells or deviated wellbores. As an example, gas lift equipment such as a bag mandrel can utilize a straight tubing retrievable gas lift valve that can be pulled and replaced without disturbing the tubing.
[0057] As an example, the equipment may include water injection equipment. For example, consider an enhanced oil recovery (EOR) process in which a small amount of a surfactant is added to an aqueous fluid injected to sweep the reservoir by appropriate equipment. In such an example, the presence of the surfactant reduces the interfacial tension between the oil phase and the water phase and may also change the wettability of the reservoir rock (e.g., to enhance oil recovery). In such an example, the movement of the fluid (e.g., oil and / or water) and / or the presence of the surfactant may carry particles of the reservoir rock into a production well or multiple production wells, where these particles (e.g., sand) may cause a sand event, regardless of whether one or more production wells or multiple production wells include artificial lift equipment. As water injection becomes more and more common around the world, an increase in sand-related problems (e.g., sand influx into production wells) can be expected.
[0058] As an example, the apparatus may include a nozzle or multiple nozzles, which may include surface nozzles and / or downhole nozzles. A nozzle is a device including an orifice that can be used to control the flow of a fluid through the orifice, for example, to control the fluid flow rate, downstream system pressure, etc. Nozzles come in a variety of configurations, including fixed nozzles and adjustable nozzles. Adjustable nozzles enable fluid flow and pressure parameters to be changed as desired (e.g., for process, production, etc.).
[0059] The adjustable nozzle includes a valve that is adjusted to control well operations, for example, to reduce the pressure of the fluid from the high pressure in the closed wellbore to atmospheric pressure. The adjustable nozzle valve can be adjusted (e.g., fully open, partially open, or closed) to control the pressure drop. As an example, the adjustable nozzle can be adjusted manually or by a controller that is integrated with the adjustable nozzle or operatively connected to the adjustable nozzle. The controller of the adjustable nozzle can respond to a signal generated locally and / or remotely.
[0060] A downhole choke or bottom hole choke may be a downhole device used to control fluid flow in downhole conditions. As an example, a downhole choke may be removed by wireline intervention, where the downhole choke may be located in a landing sub in a tubing string. In some cases, the downhole choke may act as a flow regulator and absorb a portion of the downhole pressure drop, which may help reduce the likelihood of hydrate issues.
[0061] As an example, the system may be a pump system that includes one or more mechanisms for reciprocating a rod column, wherein the rod column may include rods connected by a coupling. For example, the rod may include opposing threaded ends, which may be referred to as pins, wherein each end may be screwed into a mating thread of a coupling. In such an example, a long rod column may be assembled, which is composed of a series of rods, wherein the rods are connected by a coupling. Such a rod column may be several meters in length.
[0062] As an example, the rod can be a sucker rod. A sucker rod can be a steel rod used to form a mechanical assembly between a surface component and a downhole component of a rod pumping system. As an example, the sucker rod can be a non-standard length or a standard length. As an example, a standard length of a sucker rod can be in the range of about 25 feet to about 30 feet (e.g., about 7 meters to about 9 meters).
[0063] As an example, the pumping system may be an artificial lift pumping system that may be powered using a surface power source to drive a downhole pump assembly. As an example, the pumping system may include a beam and crank assembly that generates a reciprocating motion in a rod string connected to the downhole pump assembly. In such an example, the downhole pump assembly may include a plunger and valve subassembly that may convert the reciprocating motion into vertical fluid movement.
[0064] As an example, the motor may be used to reciprocate the rod string, optionally via one or more belt or chain drives. For example, a belt driven pumping unit may include a belt coupled to the rod string to reciprocate the rod string vertically within the well when the belt is driven by the motor. As an example, the pump may be a sucker rod pump including a sucker rod string.
[0065] Figure 4 An example of a system 400 is shown that includes a pump assembly 401 driven by a pump drive system 404 operatively coupled to a controller 422. Figure 4 In the example of FIG. 4 , the pump assembly 401 and the drive system 404 are arranged as a beam pump. Figure 4 As shown, the movable beam 438 reciprocates a rod string 444, which includes a polished rod portion 446 movable in a bore of a stuffing box 450 of a wellhead assembly, which includes a discharge port in fluid communication with a flow line 452. The rod string 444 can be suspended from the movable beam 438 by one or more cables 442 suspended from a donkey head 440, and is used to activate a downhole pump 410 of the pump assembly 401, wherein the downhole pump 410 is located in the well 402, for example, near the bottom 412 of the well 402.
[0066] A well in a subterranean environment may be a cased well, an open well, or a partially cased well, for example, which may include an open well portion or portions. Figure 4 In the example of , the well 402 includes a casing 406 defining a casing hole, wherein an oil pipe 408 is arranged in the casing hole. As shown, an annular space may exist between the outer surface of the oil pipe 408 and the inner surface of the casing 406.
[0067] exist Figure 4In the example of the embodiment, the movable beam 438 is actuated by a rocker arm (or multiple rocker arms), which reciprocates through a crank arm (or multiple crank arms) 434 driven by a prime mover 430 (e.g., an electric motor, etc.). As shown, the prime mover 430 can be connected to the crank arm 434 through a gear reduction mechanism (such as a gear of a gearbox 432). As an example, the prime mover 430 can be a three-phase AC induction motor, which can be controlled by a circuit of a controller 422 that can be connected to a power source. The gearbox 432 of the pump drive system 404 can convert the motor torque into a low-speed, high-torque output to drive the crank arm 434. The crank arm 434 can be operably connected to one or more counterweights 442, which are used to balance the rod column 444 and other equipment suspended on the donkey head 440 of the movable beam 438. Balance can be provided by a cylinder (such as a cylinder found on an air balance unit).
[0068] The downhole pump 410 may be a reciprocating pump including a plunger 416 attached to the end of a rod string 444 and a pump barrel 414, which may be attached to the end of an oil pipe 408 in the well 402. The plunger 416 may include a traveling valve 418 and a fixed valve 420 located at or near the bottom of the pump barrel 414. During operation, for an upstroke in which the rod string 444 translates upward, the traveling valve 418 may close and lift the fluid (e.g., oil, water, etc.) above the plunger 416 to the top of the well 402, while the fixed valve 420 may open to allow additional fluid from the reservoir to flow into the pump barrel 414. For a downstroke in which the rod string 444 translates downward, the traveling valve 418 may open, while the fixed valve 420 may close to prepare for the next cycle. The operation of the downhole pump 410 may be controlled so that a certain liquid level is maintained in the pump barrel 414, wherein the liquid level may be sufficient to maintain the lower end of the rod string 444 in the fluid throughout its stroke.
[0069] As an example, system 400 may include a beam pump system. As described above, the prime mover may rotate a crank arm, the motion of which is converted to reciprocating motion by a beam. The beam may include a counterweight or compressed air cylinder to help reduce the load on the beam pump system during the upstroke. The beam may be attached to a polished rod by a cable suspended on a donkey head at the end of the beam. The polished rod may pass through a stuffing box and be operatively connected to a rod string. As explained, the rod string may be raised and lowered in the production tubing of a cased well by the reciprocating motion of the beam, thereby enabling a downhole pump to capture and lift formation fluids in the tubing in a direction toward the ground (e.g., with a flow vector component opposite to gravity), and by directing the fluid to a pumping tee in the flow line.
[0070] As an example, the prime mover can be an internal combustion engine or an electric motor that provides power to the pumping unit. As an example, the prime mover can provide high-speed, low-torque power to a gear reducer, which converts the energy into low-speed, high-torque energy for the surface pump. Figure 4 As shown, a beam pumping unit, beam pumping system, or simply a beam pump, converts the rotary motion of a prime mover into a vertical reciprocating motion that raises and lowers a rod string connected to a subsurface pump.
[0071] Some aspects of the system may include prime mover type; pump jack size, stroke length and speed setting; rod and tubing diameter; and downhole pump diameter, such as based at least in part on reservoir fluid composition, wellbore fluid depth, and reservoir productivity.
[0072] As an example, the design framework may facilitate design decisions such as achieving the desired pumping rate to achieve production targets without overloading the system or exceeding the ability of the formation to deliver fluids to the wellbore.
[0073] Beam pumps can be constructed in a variety of sizes and configurations. Some systems include design aspects intended to better manage torque, rod wear, and / or footprint. For example, as to certain design aspects, consider positioning counterweights on the crank arm or beam and using compressed air rather than weights to assist in load balancing. Further examples may involve changes in the position of the crank, gear reducer, and motor relative to the beam, as well as alternative beam designs, which may change the system load.
[0074] As an example, the system may place heavier rods or sinker rods in the lower portion of the rod string to keep the rod string taut, which reduces buckling and may help prevent contact with the tubing wall. The rod string may also include stabilizer rods between the weighted sucker rods to centralize the sucker rods, further reducing tubing wear.
[0075] Rod guides, which may be made of reinforced plastic, may be molded onto steel rods at depths where engineers may predict the rods will be side-loaded due to wellbore path deviations. The guides may act as bearings between the tubing wall and the rods to prevent rod and tubing wear. During pump cycles, sliding guides may be able to move between molded guides to assist production by scraping wax from the tubing walls, which helps prevent well plugging. Rod rotators or tubing rotators may be used to rotate the rods a fraction of a turn with each stroke of the pumping unit to further extend rod string life. As an example, slowly rotating the rod guides may help scrape wax from the tubing walls.
[0076] Sucker rods can be connected to the surface pumping unit via polished rods. For example, polished rods made of standard alloy steel and hard-surfaced sprayed metal coatings can support the loads generated during pump cycles and help ensure sealing through the stuffing box at the top of the well. The stuffing box can be connected to the wellhead or pumping tee and form a low-pressure seal against the polished rod. The seal can form a barrier between the well and the atmosphere and allow fluid to be transferred to the flowline, such as through the pumping tee.
[0077] A dynamometer is an instrument used in sucker rod pumping to record the change between polished rod load and polished rod displacement. A dynamometer card (e.g., indicator card) is a record made by a dynamometer. Analysis of the dynamometer measurements may reveal a defective pump, leaking tubing, an underbalanced pumping unit, a partially plugged mud anchor, pump air lock, or an undersized pumping unit. The dynamometer card may be in the form of a graphic, such as a dynamometer (e.g., a dynamometer card graphic). As an example, an indicator card or indicator diagram may be generated in digital form, for example, as a digital image.
[0078] Figure 4 Also shown are a surface condition graph 452 and a downhole condition graph 454, which are graphs of load and distance versus time (eg, versus one or more cycles of a pump such as a sucker rod pump).
[0079] As for the downhole condition map 454, as described above, it can be based on a model. Such a model can include various types of factors, such as, for example, the speed of sound in the rod, the elastic modulus of the rod material, the rod string length, the number of position increments, the number of time discretizations, the pump speed (e.g., cycles per minute, strokes per minute, etc.), the rod stroke length, the rod diameter, the specific gravity of the rod material, the dimensionless damping factor, the specific gravity of the fluid, the tubing diameter, etc.
[0080] As an example, a dynamometer card may exhibit shape changes that may aid in behavior and / or condition identification and / or control. For example, the shapes may correspond to dynamic problems such as perfect trajectory, rod stretch, partial pump fill, acceleration and harmonics, low lead screw, down tapping, up tapping, worn barrel, delayed travel valve (TV) sensing, bad TV, bad standing valve (SV), hard impact, air lock or bad SV, deep rod section, excessive harmonics, high liquid level, excessive friction, rod overstretch, stuck pump, bad position signal, bad load signal, or galvanized pump, etc. The above types of problems may depend on equipment details, site details, etc. Note that pump equipment data may be used to identify one or more other types of problems.
[0081] exist Figure 4 In the example of , some examples of data and associated behavior are shown, including data indicating impact behavior 455, data indicating tag behavior 456, data indicating gas interference (GI) behavior 457, and data indicating normal behavior 458.
[0082] As an example, sucker rod pumps can exhibit behaviors such as fluid shock. In fluid shock, each shock load applied to the pump's plunger causes the rod to bend and hit the tubing. High-load shocks can knock out the traveling valve (TV) ball and seat, causing the pump's valve stem to bend, which in turn causes the side load of the plunger to act on the barrel. The stress applied to the rod can significantly increase the rod load and shorten the rod life. In addition, shock loads can eventually be transmitted to the rod string and damage the tightly locked teeth in the gearbox.
[0083] As an example, a sucker rod pump may exhibit behavior such as gas jam. While gas jam (or gas shock) is similar in many ways to fluid shock, it does not produce nearly the same type of shock load; however, it can be just as inefficient, volumetrically. Also, due to the inefficiency, an extra stroke may be required in the presence of gas jam, which can be very damaging to the equipment. Additionally, gas that enters the pump ends up in the tubing string, which can be the cause of stuffing box leaks. As an example, gas jam can cause erratic pump performance.
[0084] As an example, a pump rod pump may exhibit behavior such as pump marking, which may be referred to simply as marking. Marking may be intentional, for example, when the pump is spaced a certain distance apart, at the bottom of the stroke, actual contact is made between the plunger and the bottom of the pump, which is often light. Although some light pump markings may have their place in the oil field, marking can be a behavioral issue, especially when marking goes beyond "light". As to what is a "light" tag, it can be subjective when handled by humans, especially those who may not have the level of knowledge of a subject matter expert (SME) (who may be a domain expert). For example, a human may report that a well has a "light" tag, which may feel "light" at the surface, but have no idea how "light" the tag actually is downhole, which may be quite a distance downhole (e.g., hundreds of meters or more). If not monitored regularly, a "light" tag may become heavier after a few weeks. Because fiberglass rod strings absorb most of the tag and do not transmit shock waves vertically as effectively as steel, a "light" tag on a fiberglass rod may be twice as stiff as a "light" tag on a steel rod string. Tagging can damage pumps, rods, and tubing while reducing downhole plunger travel. Tagging behavior can be associated with inefficiencies, for example, a pump may lose a percentage of its total downhole stroke length due to the tag. In addition, pump tagging tends to hammer the pump into the seated valve orifice (e.g., making it more difficult to unseat the next time it is pulled).
[0085] Although Figure 4 Details of a particular type of device are shown in FIG, but other types of devices may have their own associated details, which may include Figure 4Features that are alternatives to, in addition to, different from, or other than the features of system 400 are described. Also, although reference is made to pumps, as described above, the field devices may include devices other than pumps or in addition to one or more pumps.
[0086] Figure 5 An example of a system 500 and an example of an architecture 501 are shown, where the system 500 may include various local components that may communicate with one or more remote components. Figure 5 As shown in the example of, the architecture 501 can provide one or more security components 502, one or more machine learning models 503, data 504, objects 505, classification and / or prediction techniques 506 (e.g., identification, detection, classification, prediction, etc.), analysis techniques 507, and outputs 508. As an example, the system 500 can be operably connected to one or more types of devices, which may include one or more pumps and / or one or more non-pump devices. As an example, the system 500 can operate as a controller, a motor controller, etc., and / or provide information to a controller, a motor controller, etc.
[0087] As shown, the system 500 may include a power source 513 (e.g., solar, generator, battery, grid, etc.), which may provide power to the edge framework gateway 510, which may include one or more computing cores 512 and one or more media interfaces 514, which may, for example, receive a computer-readable medium 540, which may include one or more data structures, such as an operating system (OS) image 542, a framework 544, and data 546. In such an example, the OS image 542 may enable one or more of the one or more cores 512 to establish an operating system environment suitable for executing one or more applications. For example, the framework 544 may be an application suitable for execution in an operating system established in the edge framework gateway 510.
[0088] exist Figure 5 In the example of , edge framework gateway 510 ("EF") may include one or more types of interfaces suitable for receiving and / or transmitting information. For example, consider one or more wireless interfaces that may provide local communication such as with one or more local devices (which may include device 532, device 534, and device 536) on site, and / or remote communication with one or more remote sites 552 and 554. In such an example, fewer or more devices may be included.
[0089] As an example, devices 532, 534, and 536 may include one or more types of devices, such as Figure 3One or more instances of device 310, device 330, device 350, and device 370. As an example, a device may include a non-artificial lift device and / or an artificial lift device.
[0090] As an example, EF 510 may be installed at a site some distance from a city, town, etc. In such an example, EF 510 may be accessible via a satellite communication network and / or one or more networks (wherein data, control instructions, etc. may be transmitted, received, etc.).
[0091] As an example, one or more devices at a site may be locally and / or remotely controllable. For example, a local controller may be an edge framework-based controller that is capable of issuing control instructions to local devices over a local network, while a remote controller may be a cloud-based controller or other type of remote controller that is capable of issuing control instructions to local devices over one or more networks beyond the site. As an example, a site may include features that enable local and / or remote control. As an example, a controller may include an architecture such as a supervisory control and data acquisition (SCADA) architecture.
[0092] Satellite communications tend to be slower and more expensive than other types of electronic communications due to factors such as distance, equipment, deployment, and maintenance. For well sites that do not have other means of communication, satellite communications may be limited in one or more ways. For example, cloud-based control methods may introduce excessive latency when the controller is to work in real-time or near real-time.
[0093] like Figure 5 As shown in the example of , EF 510 can be deployed where it can operate locally with one or more devices 532, 534, and 536. As an example, EF 510 can include switching and / or communication capabilities, such as for information transmission between devices.
[0094] As needed, communication may occur from time to time between EF 510 and one or more remote sites 552, 554, etc., which may be carried out via satellite communications with acceptable delays and costs. As an example, CRM 540 may be a removable drive that can be brought to the site via one or more modes of transportation. For example, consider airdrops, where people are delivered via helicopters, airplanes, ships, etc.
[0095] As about Figure 5As explained, EF may be executed within a gateway, such as, for example, the AGORA Gateway (SLB, Houston, TX), which may include one or more processors, memory, etc., which may be deployed as a "box" that may be locally powered and may communicate locally with other devices via one or more interfaces. As an example, one or more devices may include computing resources similar to those of the AGORA Gateway, or more or less computing resources than those of the AGORA Gateway. As an example, the AGORA Gateway may be a network device with various network capabilities.
[0096] As an example, the gateway may include one or more features of an AGORA gateway (e.g., v.202, v.402, etc.) and / or another gateway. For example, consider an INTEL ATOM E3930 or E3950 dual-core with DRAM and eMMC and / or SSD. Such a gateway may include a trusted platform module (TPM) that can provide secure and measurable boot support (e.g., via hash, etc.). The gateway may include one or more interfaces (e.g., Ethernet, RS485 / 422, RS232, etc.). Regarding power, the gateway may consume less than about 100W (e.g., consider less than 10W or less than 20W). As an example, the gateway may include an operating system (e.g., consider LINUX DEBIAN LTS or another operating system). As an example, the gateway may include a cellular interface (e.g., 4G LTE, 5G, etc. with a global modem / GPS). As an example, the gateway may include a WIFI interface (e.g., 802.11a / b / g / n). As examples, the gateway may operate using AC 100-240V, 50 / 60Hz, or 24VDC.Regarding size, consider a gateway having a protective box with dimensions of approximately 10 inches x 8 inches x 4 inches (eg, 25 cm x 20.3 cm x 10.1 cm).
[0097] As an example, a gateway can be part of a drone. For example, consider a mobile gateway that can take off and land where it can land to operatively connect with a device to provide control of such device. In such an example, the device can include a landing pad. For example, a drone can be guided to the landing pad, where it can interact with the device to control the device. As an example, a wellhead can include a landing pad, wherein the wellhead can include one or more sensors (e.g., temperature and pressure), and wherein the mobile gateway can include features for generating fluid flow values using information from the one or more sensors. In such an example, the mobile gateway can issue one or more control instructions (e.g., to a nozzle, a pump, etc.).
[0098] As an example, the gateway itself may include one or more cameras so that the gateway can record situations. For example, consider a motion detection camera that can detect the presence of an object. In such an example, an image of the object and / or an analysis (e.g., image recognition) signal thereof can be transmitted (e.g., via a satellite communication link) so that the risk can be assessed at a site remote from the gateway.
[0099] As an example, a gateway may include one or more accelerometers, gyroscopes, and the like. As an example, a gateway may include circuitry that may perform seismic sensing indicative of ground motion. Such circuitry may be suitable for detecting and recording device movement and / or movement of the gateway itself. As an example, a gateway may include one or more sensors that may detect localized shock and / or vibration that may be associated with device operation, fluid movement, and the like.
[0100] As described above, the gateway may include a number of features that enhance its operation at a remote site that may be far from a city, town, etc., such that traveling to the site and / or communicating with equipment at the site may be difficult and / or expensive. As described above, the gateway may include an operating system and a memory that may store one or more types of applications that may be executed in the operating system environment. These applications may include one or more security applications, one or more control applications, one or more simulation applications, etc.
[0101] As an example, there may be various types of data available, such as considering real-time data and temporary data from a device. In various examples, the data from a source connected to the gateway may be real-time, temporary data, sporadic data, etc. As an example, laboratory test data may be available to fine-tune one or more models (e.g., locally, etc.). As an example, data from a framework such as the AVOCET framework may be utilized, where the results and / or its data may be sent to the edge. As an example, one or more types of temporary data may be stored in a database and sent to the edge.
[0102] As for real-time data, it can include data acquired by one or more sensors at a site and then transmitted after acquisition, for example, to a framework that may be local, remote, or partially local and partially remote. Such transmissions can be streams (e.g., streaming data) and / or batches. As for batches, a buffer can be used to store a certain amount of data, which is then transmitted as a batch. In various cases, real-time data can be characterized by a sampling rate or sampling frequency. For example, 1 Hz is considered a sampling frequency sufficient to track various types of physical phenomena that may occur during downhole operations. As an example, data can be acquired based on the cycle frequency of field equipment. For example, consider a device such as Figure 4As an example, the sensor and / or the framework may provide for adjustment of sampling (e.g., at the sensor and / or at the framework). In various cases, data from multiple sensors may have the same sampling rate or one or more sampling rates.
[0103] As described above, various systems can be run in a local manner, optionally without access to a network such as the Internet. For example, a site may be relatively remote, and satellite communications are its primary mode of communication, so communications may be high cost and / or low bandwidth. In this case, security may take the form of local features rather than remote features, such as a remote authentication server.
[0104] An authentication server can provide network services that applications use to verify credentials, which can be or include an account name and password for a user (e.g., a human and / or a machine). When a client submits a valid credential or credentials to an authentication server, the authentication server can generate an encrypted ticket that the client can then use to access one or more services.
[0105] exist Figure 5 In the example of , the edge framework 544 can be an edge-enabled data processing framework. As an example, such a framework can include features that perform one or more of the following tasks: real-time data cleaning to synchronize information from existing well metering (e.g., wellhead, tubing, flow, pump, etc.); real-time execution of one or more machine learning (ML) (e.g., including self-learning) models (e.g., one or more ML models that can identify one or more problems, etc.); and communication of control set points to controllers (e.g., actuatable valves, etc.) and / or one or more other devices. As described above, the edge framework can be deployed using downhole circuits, which can be downhole circuits operatively connected to surface circuits, etc.
[0106] System 500 can be part of an infrastructure that acts as a secure gateway to transmit monitoring to an operator's monitoring station and / or its own monitoring platform. The presence of such a gateway can also support operators in introducing one or more additional IIOT (Industrial Internet of Things) implementations.
[0107] As an example, Figure 3 and Figure 4 One or more controllers may include or provide access to one or more frameworks, applications, etc. As an example, Figure 3 and Figure 4 The one or more controllers may include Figure 5 One or more features of the system 500. As an example, Figure 2 The system 250 may include Figure 5 One or more instances of system 500.
[0108] As an example, a system may provide automatic monitoring of artificial intelligence (AI) model performance on multiple field devices. Such a system may, for example, identify model drift due to data differences, which may include training and inference data, etc. In response, the system may automatically trigger model retraining using the newly available data, while tracking model versions and artifacts, and automatically build, test, and deploy the new retrained model to the field device (possibly an edge device).
[0109] The system can include a feedback loop that can provide a portal, such as a web portal, for evaluation. For example, consider one or more subject matter experts (SMEs) who can access features of the system in a manner that allows verification of the results of an AI model running on an edge device. Such a system can be implemented by utilizing automated features to monitor and identify model drift, which is characterized by a decrease in the predictive ability of the model due to environmental changes, etc. The system can provide for retraining and / or reconstruction of one or more models, for example, using newly acquired data, which for supervised learning can include labeled data (e.g., machine labeled, manually labeled, etc.). The system can include a validator that can perform a validation process on a new model for quality control, where a deployer can push the validated new model to one or more edge devices.
[0110] As an example, the method can be organized into a workflow that can be or include an AI workflow that classifies equipment behavior based at least in part on field data. As an example, consider data from a surface card and / or downhole card such as a rod lift pump that uses machine learning to trigger mitigation and optimization processes (e.g., on the edge). For example, consider Figure 4 45, which may be processed together and / or separately, optionally as images, by one or more ML models that may classify the graphs according to behavior and / or condition. Although classification methods are mentioned, one or more of classification and prediction may be utilized.
[0111] As an example, multiple models may be utilized, which may form an ensemble. For example, consider an ensemble of one or more types of models, such as binary classification models, deep learning models, etc. Ensemble methods may provide appropriate model selection, which may be intended to execute within a time frame that matches the data availability and / or device behavior characteristics of the field devices. For example, when data is provided at a high frequency and the behavior may change relatively quickly, a model that can execute relatively quickly may be selected rather than a model that takes longer to execute; note that in the case where the device behavior has different time frames, one or more models that can handle such different time frames may be selected.
[0112] As described above, the deployed trained models themselves can be monitored for performance issues, such as model drift and / or other types of degradation. For example, if the deployed trained model exhibits a degradation in its ability to classify and / or predict behaviors and / or conditions, a signal can be generated to notify the machine and / or human model of the performance issue so that retraining (or reconstruction) can be performed. As described above, a human-in-the-loop (HITL) approach can be implemented, where the human is an expert who can easily evaluate model performance and data, and where appropriate, can select specific data for retraining and / or mark specific data as associated with behaviors and / or conditions for retraining. In this way, multiple field devices can be appropriately monitored and / or controlled by using machine learning models that have themselves been reviewed and retrained and / or rebuilt. As described above, automation can be used to identify one or more models with problems, which can save and focus resources on specific model-related tasks.
[0113] As described above, an automated system can monitor and identify degradation in model performance. Such a system can retrain the model with new data when needed, while validating and deploying the retrained model to one or more edge devices. In a specific installation, the retraining cycle can be completed in a few hours, which can help ensure the normal operation and control of the equipment. In the case where such equipment is used to pump hydrocarbons from a well connected to a reservoir fluid, it is easier to achieve the goal, for example, compared with a non-automated method that requires regular model inspection and evaluation one by one. As described above, methods that can automatically identify model problems and simplify the handling of such problems can help achieve planning goals for equipment performance, fluid production, resource utilization, etc. Automated methods may even allow re-evaluation of goals because less downtime (e.g., non-productive time) can be expected. For example, a manual method may have a cycle time of several weeks, where the manual method is an iterative and repetitive process for numerous field sites, which involves data scientists and SMEs performing manual model updates and deployment. As described above, automated systems that speed up problem identification, expert evaluation, model retraining, verification, and deployment can have a cycle time of several hours, rather than weeks (e.g., 3 hours versus more than 400 hours).
[0114] As an example, the system can provide operational expansion and deployment of machine learning workflows that may require incremental updates to account for model drift, the addition of new wells, improvements in performance indicators (PIs), and enhancements in solution robustness. In manual approaches, such operations tend to be iterative and involve additional repetitive efforts by data scientists. In contrast, automation can more effectively utilize data scientists and / or subject matter experts to manage AI-enabled solutions on edge devices (e.g., IIOT devices), where efficiency gains come at least in part from minimizing human intervention, for example, as achieved through machine automation.
[0115] As an example, consider a pump plant deployed in the field, which may include dozens of pumps, hundreds of pumps, or thousands of pumps. Such pump equipment can generate a large amount of data, such as, for example, card data (e.g., dynamometer cards, etc.). Real-time pump data such as load and position (e.g., distance) can be acquired by an edge device at, for example, a one-minute frequency (e.g., a one-minute stroke cycle). As described above, a trained ML model deployed on an edge device can process such data (e.g., as time series data, image data, etc.) to classify and / or predict behaviors and / or conditions. Such results can be automatically pushed to a cloud-based application where the HITL (e.g., an expert) can see the results from the ML model, verify them, and make adjustments as needed. A machine learning operationalization (MLOps) pipeline can automatically monitor data channels from edge devices and notify the HITL to identify specific data and / or tag specific data, which may help resolve identified ML model drift. In such an approach, the MLOps pipeline can automatically update the training dataset with the latest available data, and can trigger model retraining, for example, if model drift exceeds a pre-configured threshold that can optionally be adjusted on a per-problem basis. For example, if model drift is tolerable for certain types of behavior and / or conditions, the threshold may be more lenient than for other types of behavior and / or conditions that may have a significant impact on one or more objectives.
[0116] As described above, for the dynamometer card, the shape can correspond to one or more dynamic problems, such as perfect trajectory, rod stretch, partial pump filling, acceleration and harmonics, low tow, downward tapping, upward tapping, worn barrel, delayed TV sensing, bad TV, bad SV, severe impact, air lock or bad SV, deep rod section, excessive harmonics, high liquid level, excessive friction, rod overstretch, stuck pump, bad position signal, bad load signal or galvanized pump, etc. As described above, the trained ML model can be used to process the pump equipment data to classify and / or predict one or more problems (e.g., as behavior, condition, etc.). As an example, the local controller can use the output from the trained ML model to provide control. For example, in the case where an air lock is detected by using the pump equipment data to classify and / or predict the trained ML model, the controller can control the pump equipment according to a special process designed to alleviate the air lock so that normal pump operation can be achieved. As for conditions such as excessive rod stretch, the controller can issue repair instructions and / or adjustment instructions so that the force is reduced to minimize the effort of further stretching.
[0117] As an example, once the ML model is retrained, the system can capture artifacts such as confusion matrices, accuracy scores, and F1 scores. Such information (e.g., question metadata, etc.) can be used for one or more purposes (e.g., QA, reconstruction, etc.). Once the new model is available, such a system can then package the new model into a container, deploy the container on a container instance, and run pre-configured integration tests to ensure that the new model works as expected. As an example, the results of the validation process can be automatically transmitted to notify machines and / or humans. In the case of a HITL approach, the acceptance signal from a human may be an indication that the new model can be launched at one or more field sites (e.g., implemented at an edge device). In various instances, one or more instances of a model at one or more sites may result in a trigger, where an instance of the new model is deployed to more than one site, or, for example, deployed to one site or a limited number of sites as part of a phased implementation approach, and the trigger may include monitoring and then promotion to additional sites in subsequent stages.
[0118] As an example, the system can be a flexible, repeatable, and generalizable computational framework for use in or conversion of artificial end-to-end machine learning applications specific to IIoT devices.
[0119] Figure 6 An example of a method 600 is shown, which includes various processes 602, 604, 606 and 608, where process 602 can be an expert review process, process 604 can be a model problem detection process, process 606 can be a model training / retraining process, and process 608 can be a model deployment process.
[0120] As shown, the method 600 may include a receiving block 610 for receiving a signal indicating model drift or other model problems; an evaluation block 614 for evaluating the model; a decision block 618 for determining whether model drift and / or another model problem exists based on the evaluation; an update block 622 for updating the training data; a decision block 626 for determining whether new data is available (e.g., training data with and / or without labels, which may come from the evaluation block 614, etc.); a training block 630 for performing training and / or retraining; an evaluation block 634 for evaluating the trained model (e.g., or the retrained model); a decision block 635 for determining whether the model score is improved compared to the previous model (e.g., the previous version, etc.); Block 638; a registration block 642 for registering the trained model if the model score improves; a decision block 646 for deciding to update the model deployed on site with the trained model; a download block 650 for downloading the trained model to the builder, a building block 654 for building an image of the model (e.g., and / or model framework components, etc.), a deployment block for deploying the image on a container instance, an integrated quality control or quality assessment block 662 for assessing the quality of the containerized image, a decision block 666 for deciding whether the quality of the containerized image is acceptable (e.g., optionally using a HITL approach), and a deployment block 670 for deploying the quality-controlled / quality-assessed containerized image to one or more edge devices.
[0121] exist Figure 6 In the example of, method 600 can adopt HITL method. For example, blocks 610 and 614 can be associated with human participation, and decision block 666 can be associated with human participation, which may include one or more humans shared with blocks 610 and 614. For example, an expert may evaluate a model problem and then evaluate a new model intended to solve or otherwise handle the model problem. As an example, the time delay between block 614 and block 666 can be about a few hours or less. For example, the system pipeline can quickly utilize cloud-based resources to reduce the delay between block 614 and block 666, so that the expert can remain focused on a specific model and a new model that can replace the model. As for block 614, the block can involve data identification, labeling, re-labeling, etc., which may be associated with one or more data channels of field data from one or more sites. As an example, blocks 614 and 666 can be associated with a network interface, where, for example, humans can log in and perform one or more actions.
[0122] exist Figure 6 In the example of , decision blocks 618, 626, 638, 646, and 666 are shown with a "yes" branch ("Y"). Such a decision block may not include branches and / or other branches that can guide the method 600 to one or more appropriate actions (e.g., terminate, wait, return, etc.).
[0123] exist Figure 6 In the example of , each block may be a workflow component and may correspond to a programmatic encapsulation of an analytical technique that would otherwise be performed manually by SMEs, data scientists, and data engineers without automation.
[0124] As an example, the system may include a model monitoring pipeline that reads SME re-labeled data sets and data channels from edge devices and identifies whether model performance has degraded. For example, as the number of instances of the predicted category (differences from the actual SME labeled category) increases, the model score will deteriorate. Once the model performance score is below a user-defined threshold, such a pipeline can update the model training data set. As described above, a behavior may be a category. In various examples, the behavior may be addressed by one or more control actions that can be initiated locally and / or remotely to take action in the field (e.g., control field equipment). For example, consider a method that can utilize one or more models to identify a behavior (e.g., as a class), and then call one or more control actions to address the behavior. In such an example, a response to one or more control actions can be determined by further acquiring field data and evaluating the field data using one or more models. In such an example, it can be determined whether one or more control actions adequately address the identified behavior. For example, whether a new field data release control action (as input to one or more models) leads to the identification of the behavior.
[0125] As an example, a system may include a model retraining pipeline that can monitor updates to a model training dataset. Such a pipeline may include features for: training a model (e.g., a model retrained with an updated dataset); evaluating a trained model (e.g., matrices such as F1 scores and accuracy can be used to quantify model performance, where these scores can be compared to previously saved models); saving a trained model (e.g., a new model, etc.), where the trained model can be saved along with details of the dataset and one or more matrices used to train the model, etc.
[0126] As an example, the system can include a release pipeline that checks whether a new model version is available. For example, consider a release pipeline that can create an image with a new model, deploy / run the image, test the image (e.g., according to a predefined set of tests to ensure that the model works as expected, where the results can be automatically notified to the SME), and approve the test results, such as through SME approval (e.g., the SME can make an informed decision to push the new model to one or more edge devices). In such an example, the release pipeline can include features that push the new model to one or more edge devices, such as with appropriate security, address, instructions, etc.
[0127] Figure 7 An example of a system 700 is shown, the system including an ML pipeline 702 , a creator pipeline 720 , an active learner pipeline 730 , a cloud-based component 740 , and an ML-driven control at an edge component 750 .
[0128] The creator pipeline may include a trainer 722, a docking program 724, and an evaluator 726, as well as a feature 751 that pushes a model to one or more edge devices, where the received model 752 may be containerized as an image, for example, using one or more APIs and can be operated with an edge application 754. As shown, the device 751 may receive data 757 from a field device 756, which may be controlled by a control instruction 759 generated and issued by the device 751. The device 751 may transmit information to one or more cloud-based components 740, which may include a network application 742, a labeling / relabeling 744, and a data channel 746 component. The output (e.g., feedback) of the cloud-based components may be directed to an active learning pipeline 730, which may include a performance monitor 732 and a training data updater 734. As shown, the updated training data may be used by the creator pipeline 720 in a loop to update one or more models for use by one or more edge devices 751.
[0129] Figure 8 An example of a system 800 is shown that includes cloud-based components 842, 844, and 846 operatively coupled to an ML pipeline 802 for various edge devices 851, which may include different Model A, Model B, and Model N as also labeled with reference number 852. As shown, each edge device 851 may be associated with one or more pumps in a set of pumps (e.g., a pumping plant) in the field. Figure 8In the example of , field device 801 is shown as being associated with one or more oil fields in Texas, which may be associated with a basin and one or more reservoirs. As described above, there may be hundreds or thousands of devices installed, which may be associated with different entities with different processing operations. Therefore, each entity may require a different type of model, for example, for different behavior and / or condition descriptions. In such an example, the data may be proprietary such that data from one group is not disclosed to another group.
[0130] As an example, the system 800 may be replicated by group and / or may include functionality for handling data security and differences between groups. As an example, the system may include a data anonymizer so that identifying information is cleared from the data so that the data can be considered training data. For example, consider building a model that can be common to different groups, where the classification and / or prediction of different groups may be different by using one or more filters, etc. In such an example, the filters may be proprietary so that different groups are unaware of pre-outputs and other filters that may be used by one or more groups. As described above, the edge device may implement control, for example, the control may be specific to a certain group. For example, consider implementing control at least in part through a customized edge application. As an example, the model may be common to different groups, while the edge application is customized.
[0131] As an example, in Figure 8 In the example, system 800 can be used by one or more entities, where, for example, each entity can have its own operating procedures. For example, consider an entity that provides its own subject matter experts (SMEs) for one or more tasks. As an example, an entity can provide scheduling information so that system 800 works according to a schedule. For example, in Figure 8 In the example, the groups (A, B, and C) may be groups of different entities. As an example, the backend components may be managed by a single entity, such that some tasks are performed by the single entity and other tasks are performed by multiple entities, which may be isolated by security mechanisms or the like (e.g., to ensure that one entity does not access the information of another entity).
[0132] As an example, the system may be used in one or more regions. As described above, a system may be implemented in a region in Texas. System 800 may be suitable for use in the Williston Basin in North Dakota, where thousands of rod lift pumps are installed. As described above, the system may include a model for using machine learning to classify surface cards and downhole cards for rod lift pumps to trigger mitigation and optimization workflows on the edge. As an example, ML model performance evaluation may be performed on an hourly basis. In such an example, the system may save a significant amount of time by reducing the need for manual iteration and repetitive processes to monitor and retrain one or more ML models.
[0133] As an example, an autoencoder ML model including an encoder portion and a decoder portion can be utilized. An autoencoder ML model can be described in which the encoder portion maps an input to a code and the decoder portion maps the code to a reconstruction of the input. The autoencoder ML model can be a feedforward, non-recursive neural network (e.g., similar to a single-layer perceptron) that participates in a multilayer perceptron (MLP), for example, employing an input layer and an output layer connected by one or more hidden layers. The output layer can include the same number of nodes (neurons) as the input layer. As described above, the autoencoder ML model can reconstruct its input (e.g., by minimizing the difference between the input and the output), rather than predicting a target value Y based on the input X. As an example, an autoencoder ML model can be trained using unsupervised learning. As described above, data can be acquired and processed so that the data represents the normal behavior of a pump (e.g., a pump system), wherein, once available, such processed data can be used to train the ML model in an unsupervised manner.
[0134] As described above, the system can be local, such as an edge device system that can run one or more edge application calculations in real time to perform classification, prediction, etc., which may continue for many days in the future. Such a system can provide an accurate assessment of the device's expectations. As an example, the system can be deployed locally and / or in the cloud (e.g., as a SaaS product, etc.).
[0135] As an example, the system may utilize sophisticated ML techniques that do not necessarily require the presence of identifiable consistent precursors. As an example, the system may be lightweight (e.g., IoT or edge device) and have a fast response time.
[0136] Fig. 9 An example of a system 900 is shown, which may include one or more containerized ML models 910 hosted within an application programming interface (API) wrapper 920 within a container 930. In such an example, the containerized ML model 910 may be deployed in the field, for example, using an edge computing device 950 with a predictor and / or classifier 952 and an edge application 954 component. In such an example, the edge application component 954 may provide data processing so that the data or data derived therefrom is in a form suitable for ingestion by the predictor and / or classifier 952 (e.g., appropriate ML model input, etc.).
[0137] like Fig. 9 As shown, one or more ML models 910 can be used with edge computing devices 950 in a workflow 960. As shown, the workflow 960 can utilize one or more components that can form various computational pipelines, such as, for example, a modeling pipeline 970, a training pipeline 980, and a model publishing pipeline 990. Fig. 9 In the example of , the modeling pipeline 970 may include an intelligent sampling component 972 for intelligently sampling data and / or model results, a validation component 974 for validating the results, an update component 976 for updating the data set, and an identification component 978 for identifying one or more model problems that may include, for example, model drift. Fig. 9 In the example of , when a model problem is identified according to the identification component 978, a new data set can be transmitted to the training pipeline 980.
[0138] like Fig. 9 As shown in the example of, the training pipeline 980 may include a training model component 982 and a model management component 984, wherein the training model component 982 may train (e.g., retrain, etc.) the model using at least a portion of a new data set, and the new data set may be a data set updated by each update component 976. As for the model management component 984, it may perform one or more model management tasks, which may be associated with an entity (e.g., a field operator, a field service provider, etc.). As an example, model management may include evaluating one or more instances of a model and / or different models that may be implemented at one or more sites. For example, considering a site with a model that performs better than models at other sites, this may provide for evaluating models, selecting models, adjusting the training of models, adjusting hyperparameters of models, etc. Although the arrows in the training pipeline 980 are shown as pointing downward, interaction may occur between components 982 and 984 to provide a new model that is at least partially trained using a new data set.
[0139] exist Fig. 9 In an example of , the model release pipeline 990 may include a containment component 992 for containerizing a new model, a test component 994 for testing the new model in containerized form (e.g., ready for deployment and use by the edge computing device 950), an approval component 996 for approving the new model for each test, and a deployment component 998 for deploying the new approved, tested, and containerized model to the field. As shown, the deployment component 998 can transmit the model to the edge computing device 950 and / or multiple edge computing devices (e.g., at one or more sites, etc.). In various examples, the workflow 960 can be implemented primarily for a specific field installation of a specific field device, where the model results are based on data associated with the specific field device.
[0140] As an example, a container framework can build software units that encapsulate executable code and its dependencies so that applications can be executed quickly and reliably from one computing environment to another. As an example, a container can be an image of a lightweight, independent, executable software package that includes code, runtime, system tools, system libraries, and settings. The container image becomes a "container" at runtime, for example, running on a suitable engine (e.g., the DOCKER engine of a DOCKER container image). As an example, an edge implementation can utilize a framework such as, for example, a lightweight machine learning framework, such as the TENSORFLOW LITE (TFL) framework (GOOGLE LLC, Mountain View, California).
[0141] As an example, a model pipeline can be set up inside a container, wrapped around an ASGI-based API technology to allow real-time requests and responses (see e.g. Fig. 9 As an example, the signal can be received by the ML model in real time as expected to produce an output. Such an approach allows for continuous monitoring and / or control and parallel computing on multiple edge devices.
[0142] As an example, the system, method, etc. may utilize one or more machine learning features, which may be implemented using one or more machine learning models. As for the type of machine learning model, consider one or more of a support vector machine (SVM) model, a k-nearest neighbor (KNN) model, an ensemble classifier model, a neural network (NN) model, etc. As an example, the machine learning model may be a deep learning model (e.g., a deep Boltzmann machine, a deep belief network, a convolutional neural network, a stacked autoencoder, etc.), an ensemble model (e.g., a random forest, a gradient boosting machine, a bootstrap aggregation, an adaptive boosting, a stacked generalization, a gradient boosting regression tree, etc.), a neural network model (e.g., a radial basis function network, a perceptron, a back propagation, a Hopfield network, etc.), a regularization model (e.g., a ridge regression, a minimum absolute shrinkage and selection operator, an elastic net, a minimum angle regression), a rule system model (e.g., a cubist, a one-rule, a zero-rule, repeated incremental pruning to reduce error), a regression model (e.g., a linear regression, an ordinary least squares regression, a stepwise regression, a multivariate adaptive regression spline, a local estimated scatter smoothing, a logistic regression, etc.), a Bayesian model (e.g., Naive Bayes, Average Dependence Estimator, Bayesian Belief Network, Gaussian Naive Bayes, Multinomial Naive Bayes, Bayesian Network), Decision Tree Models (e.g., Classification and Regression Tree, Iterated Binary Tree 3 Generations, C4.5, C5.0, Chi-Square Automatic Interaction Detection, Decision Stump, Conditional Decision Tree, M5), Dimensionality Reduction Models (e.g., Principal Component Analysis, Partial Least Squares Regression, Salmon Map, Multidimensional Scaling, Projection Pursuit, Principal Component Regression, Partial Least Squares Discriminant Analysis, Mixed Discriminant Analysis, Quadratic Discriminant Analysis, Regularized Discriminant Analysis, Flexible Discriminant Analysis, Linear Discriminant Analysis, etc.), Instance Models (e.g., k-Nearest Neighbor, Learning Vector Quantization, Self-Organizing Map, Local Weighted Learning, etc.), Clustering Models (e.g., k-Means, k-Median, Expectation-Maximization, Hierarchical Clustering, etc.), etc.
[0143] As an example, a computing framework with libraries, toolboxes, etc. can be used to build machine models, such as those of the MATLAB framework (MathWorks, Inc., Natick, Massachusetts). The MATLAB framework includes toolboxes that provide supervised and unsupervised machine learning algorithms, including support vector machines (SVMs), boosted and bagged decision trees, k-nearest neighbors (KNNs), k-means, k-centers, hierarchical clustering, Gaussian mixture models, and hidden Markov models. Another MATLAB framework toolbox is the Deep Learning Toolbox (DLT), which provides a framework for designing and implementing deep neural networks using algorithms, pre-trained models, and applications. DLT provides convolutional neural networks (convolutional nets, CNNs) and long short-term memory (LSTM) networks to perform classification and regression on images, time series, and text data. DLT includes features for building network architectures such as generative adversarial networks (GANs) and Siamese networks using custom training loops, shared weights, and automatic differentiation. DLT is used to exchange models with various other frameworks.
[0144] As an example, the system may utilize one or more recurrent neural networks (RNNs). One type of RNN is called a long short-term memory (LSTM), which can be a unit or (e.g., a component of one or more units) that can be located in one or more layers. The LSTM component can be a type of artificial neural network (ANN) designed to recognize patterns in data sequences (such as time series data). When provided with time series data, the LSTM takes into account time and sequence, so that the LSTM can include a time dimension. For example, consider utilizing one or more RNNs to process time data from one or more sources, optionally in combination with spatial data. This approach can identify temporal patterns that can be used to make predictions (e.g., one or more patterns about future times, etc.).
[0145] As an example, the TENSORFLOW framework (Google LLC, Mountain View, CA) can be implemented, which is an open source software library including a symbolic math library for data flow programming, which can be implemented for machine learning applications that may include neural networks. As an example, the CAFFE framework can be implemented, which is a DL framework developed by the Berkeley Artificial Intelligence Research Center (BAIR) (University of California, Berkeley, California). As another example, consider the SCIKIT platform (e.g., scikit-learn), which utilizes the PYTHON programming language. As an example, a framework such as the APOLLO AI framework (APOLLO.AI GmbH, Germany) can be utilized. As an example, a framework such as the PYTORCH framework can be utilized (Facebook AI Research Lab (FAIR), Facebook, Inc., Menlo Park, California).
[0146] As an example, a training method may include various actions that may operate on a dataset to train an ML model. As an example, a dataset may be divided into training data and test data, where the test data may be used for evaluation. A method may include cross-validation of parameters and optimal parameters, which may be used for model training.
[0147] The TENSORFLOW framework can run on multiple CPUs and GPUs with optional CUDA extensions (NVIDIA Corporation, Santa Clara, California) and SYCL extensions (Khronos Group Ltd., Beaverton, Oregon) for general-purpose computing on graphics processing units (GPUs). TENSORFLOW can be used on 64-bit LINUX, MACOS (Apple Inc., Cupertino, California), WINDOWS (Microsoft Corporation, Redmond, Washington), and mobile computing platforms including Android (Google LLC, Mountain View, California) and iOS (Apple Inc.) operating system-based platforms.
[0148] TENSORFLOW computations can be represented as stateful data flow graphs; note that the name TENSORFLOW derives from the operations that such neural networks perform on multidimensional arrays of data. Such arrays can be called "tensors".
[0149] As an example, one device and / or multiple distributed devices may utilize TENSORFLO W LITE (TFL) or another type of lightweight framework. TFL is a set of tools that support on-device machine learning, where models can run on mobile devices, embedded devices, and IoT devices. TFL is optimized for on-device machine learning by addressing latency (no round-trip to the server), privacy (no personal data leaves the device), connectivity (requires an Internet connection), size (reduced model and binary size), and power consumption (e.g., efficient inference and lack of network connection). Multi-platform support, covering ANDROID and iOS devices, embedded LIN UX, and microcontrollers. Multiple language support, including JAVA, Swift, Objective-C, C++, and PYTHON. High performance, with hardware acceleration and model optimization. Machine learning tasks may include, for example, data processing, image classification, object detection, pose estimation, question answering, text classification, etc. on multiple platforms. As an example, Figure 5 The system 500 may utilize one or more features of the TFL framework.
[0150] As described above, machine learning operations may require incremental updates to account for model drift, improve PI and enhance the robustness of the overall solution, for example, which may be subject to additional data availability. Such operations are often iterative and involve additional iterations from data scientists. As described above, the automation framework can perform a variety of tasks and can speed up the involvement of one or more people as needed or desired. As an example, the MLOps framework can be flexible, repeatable and generalized for use in or transformation of artificial end-to-end machine learning applications unique to IIOT devices.
[0151] As described above, the MLOps framework can automatically monitor ML model performance on various IIOT devices and identify model drift caused by differences in training and reasoning data. The framework can automatically trigger model retraining based on configured thresholds (e.g., the number of reclassified images or the introduction of new categories). The framework can track model versions and artifacts, and automatically build, test, and deploy new trained models on one or more field devices (e.g., IIOT devices).
[0152] As described above, real-time pump data, such as load and location, may be received at an appropriate frequency. ML models deployed on edge devices may perform classification and / or prediction on such data. Results may be automatically pushed to cloud applications where machines and / or humans may evaluate the results from the ML models and validate and make adjustments where appropriate. As an example, an MLOps pipeline may automatically monitor data channels from edge devices and data relabeled by, for example, SMEs and identify model drift. An MLOps pipeline may automatically update a training data set with the latest available data and may trigger model training / retraining, for example, if model drift exceeds a preconfigured threshold.
[0153] As described above, once the new model is trained (e.g., retrained, etc.), the MLOps pipeline can capture artifacts such as confusion matrices, accuracy scores, and F1 scores. The pipeline can package the new model into a container, deploy the new model on the container instance, and run pre-configured integration tests to ensure that the new model works as expected. The results of this validation process can be automatically transmitted, for example, to provide machines and / or humans with informed decisions (e.g., whether to push the new model to one or more edge devices) for field implementation.
[0154] Fig.10 An example of a method 1000 and an example of a system 1090 are shown. As shown, the method 1000 may include a receiving block 1010 for receiving a result from a field device at a field site, wherein the result is generated using a trained machine learning model at the field site and real-time field device data from the field device at the field site; an issuing block 1020 for issuing a signal in response to an evaluation of the result, wherein the signal indicates a performance-related problem with the trained machine learning model; an updating block 1030 for updating the training data with at least a portion of the real-time field device data to address the performance-related problem; and a generating block 1040 for generating a new trained machine learning model using at least a portion of the updated training data for deployment to the field site.
[0155] Method 1000 Fig.101000 is shown in association with various computer readable media (CRM) blocks 1011, 1021, and 1031. Such blocks typically include instructions suitable for execution by one or more processors (or processor cores) to command a computing device or system to perform one or more actions. Although various blocks are shown, a single medium may be configured with instructions to at least partially allow the execution of various actions of method 1000. As an example, a computer readable medium (CRM) may be a non-transitory and non-carrier computer readable storage medium. As an example, one or more of blocks 1011, 1021, and 1031 may be in the form of processor executable instructions.
[0156] exist Fig.10 In an example of a well site system 1090, which may be a well site system, may include one or more information storage devices 1091, one or more computers 1092, one or more networks 1095, and instructions 1096. With respect to the one or more computers 1092, each computer may include one or more processors (e.g., or processing cores) 1093 and a memory 1094 for storing instructions 1096, which instructions may be executed, for example, by at least one of the one or more processors 1093 (see, for example, blocks 1011, 1021, and 1031). As an example, a computer may include one or more network interfaces (e.g., wired or wireless), one or more graphics cards, a display interface (e.g., wired or wireless), and the like.
[0157] Fig.11 An example of a method 1100 that can provide for making decisions about updating one or more models is shown. As an example, the method 1100 can be implemented as part of a model monitoring pipeline, such as Fig. 9 Model monitoring pipeline 970. As shown, method 1100 may include receiving data from field operations, wherein the data may be subjected to a sampling process, which may be automated. For example, consider the data in Figures 1110 and 1120, which may be real-time high-frequency data from the field. As shown, the intelligent automated sampling process may determine the labeled probability and the unlabeled probability of the data in Figures 1110 and 1120, which may vary depending on the data, for example, in part due to physical changes in the field with respect to one or more field operations (see, for example, indicating Figure 4 The data of the tag line 456). Fig.11In the example of , the probabilities in Figures 1110 and 1120 can be output from the current model operating on the field data (e.g., model inference, etc.). As an example, the data can be evaluated with respect to the decision boundary, for example, as a boundary as part of a model-based decision, the decision being whether the data indicates one type of behavior or another type of behavior in the field (e.g., labeled or unlabeled). In such a method, the model can be evaluated and optionally improved, where there is data that may be new data from the field, which has an impact on the model-based decision-making method. For example, in Figure 1130, decision boundaries with respect to various data points are shown, some of which can be selected to be closer to the decision boundary (e.g., with respect to labeled or unlabeled, etc.) with respect to the decision boundary. These data points or samples can be used to update the model to improve model-based decisions made for dynamic data in a field environment that may change (e.g., drift, etc.). Specifically, the model can be updated so that drift in the field can be appropriately tracked for model-based decisions. As an example, so-called "model drift" can indicate a scenario where the model no longer adequately represents what is happening in the field (e.g., with respect to decision making). Thus, in the event that drift occurs, field data may be acquired and evaluated to update one or more models.
[0158] like Fig.11 As shown in the example of , method 1100 may include implementing automatic drift monitoring, as shown in Figure 1140 (see for example Fig. 9 Identification block 978). For example, in the event that a new labeled data set is generated, method 1100 may require labeling of the new data (e.g., manually, semi-automatically, and / or automatically). As described above, the new labeled data set may be based on intelligent data sampling so that the amount of new data that needs to be labeled is reduced, focused, optimized, etc. As an example, the intelligent data sampling process may consider data from one or more sites, equipment types, operation types, etc. In such an example, certain types of data, questions, sites, etc. may be weighted to make intelligent decisions.
[0159] although Fig.11 The example shows data in Figures 1110 and 1120, which are evaluated for signature and / or non-signature behaviors of a sucker rod pump, but one or more other behaviors may also be evaluated for a sucker rod pump; note that Fig.11 The method 1100 may be implemented for one or more other types of equipment, where field data may be evaluated along with model performance to determine whether model drift and / or one or more other types of model problems may exist.
[0160] As an example, smart sampling may include implementations of one or more ML models that may provide a relatively broad evaluation of various devices to improve sampling and thereby improve the efficiency of the system. Smart sampling may also provide decisions about model commonalities, where, for example, hyperparameters of certain models may be updated. In such examples, smart sampling techniques may provide model improvements, for example, by providing feedback to model training, retraining, management, etc.
[0161] As an example, in the case where humans are involved in labeling, such methods can reduce the demand for human time. For example, in the case of identifying data close to the decision boundary for labeling while excluding other data, the amount of data that needs to be labeled can be reduced while ensuring relevance to model improvement (e.g., model update). Referring to Figure 1140, as shown, a graph of input density versus feature value can be plotted for a particular feature (referred to as "Feature 1"). In such a method, if the distribution of training data (e.g., previous data) and new data shifts, it can be decided to update the training data set for retraining one or more models. In such an example, one or more metrics can be used to decide whether an update is necessary. For example, consider a drift score that can be calculated as a metric for each distribution or a comparison of two distributions (e.g., the difference in input density, feature value, etc.), and then the drift score can be compared to one or more thresholds. In such a method, depending on the comparison, in the event that the drift exceeds the threshold, an update can be called, and then the training data can be updated to perform retraining of one or more models. In Fig.11 In the example of , with respect to labels given as examples, the model can be updated to provide more accurate judgments about labeled and / or unlabeled behavior (e.g., through improved decision boundaries, etc.).
[0162] refer to Figure 6 The method 600 includes a drift block 618 as a decision block with a "yes" branch. As an example, the method 600 may include executing Fig.11 One or more actions of method 1100 may be used to determine whether to proceed to Figure 6 The update training block 622 of the method 600 of FIG. 600 may be implemented. As described above, one or more automated processes may be implemented that may be used to identify specific scenarios, specific data, etc. to speed up updates and / or reduce the need for updates. As described above, in the case of a human in the loop (HITL), one or more automated processes may help reduce the need for HITL. Such methods may help automatically focus on data that may have the greatest impact on decision making regarding updates and / or regarding updating one or more models (e.g., considering identifying specific data that may be relevant to decision making, close to a decision boundary, etc.).
[0163] Fig.12An example of a method 1200 is shown, which may include: an automated model training block 1210 for tasks such as dataset preparation, training and evaluation, and registration of models; an automated model management block 1220 for tasks such as version control and storage of registered models; an automated model packaging block 1230 for automatically packaging models such as ML models with API wrappers within containers; an automated model validation block 1240 for automatically validating models by running tests and checking that the run duration is a suitable time in a real-time scenario; and a deployment block 1250, which may optionally be run under HITL approval. For example, consider a GUI that can be presented to a display to display various aspects of a model and its associated history (e.g., type, version, performance, etc.), where a deployment graphical control can be launched to deploy the model. Although the various blocks of method 1200 are indicated as being automatic, one or more blocks may optionally involve a HITL that can be initiated based on a flag, notification, etc. For example, a block may include restrictions, standards, etc. for maintaining automatic operation, where violation of these restrictions, standards, etc. may result in notifications being issued to a human-accessible machine for human intervention.
[0164] As an example, the system can provide separation of tasks. For example, the system can be used by different entities that can consider their data proprietary. For example, consider a subject matter expert (SME) that is unique to the entity that processes data, manages data, evaluates labels, marks data, etc. In such an approach, the system can be operated by another entity that can handle modeling, such as, for example, model building, model hyperparameter tuning, etc. As an example, the system can provide an ecosystem where certain tasks are common to multiple entities, while other tasks can be performed by one or more individuals of another entity that runs the system to provide services to the multiple entities.
[0165] A method may include receiving results from field devices at a field site, wherein the results are generated using a trained machine learning model at the field site and real-time field device data from the field devices at the field site; issuing a signal in response to an evaluation of the results, wherein the signal indicates a performance-related issue with the trained machine learning model; updating training data with at least a portion of the real-time field device data to address the performance-related issue; and generating a new trained machine learning model using at least a portion of the updated training data for deployment to the field site. In such an example, the method may include deploying the new trained machine learning model to the field site, which may provide monitoring and / or control of the field devices.
[0166] As an example, a method may include generating a containerized image of a new trained machine learning model to be deployed to a live site.
[0167] As examples, performance-related issues may include one or more of model classification drift and model prediction drift.
[0168] As an example, generating a new trained machine learning model can occur in response to updating training data.
[0169] As an example, updating the training data can include utilizing labels assigned to at least a portion of the real-time field device data. For example, a new trained machine learning model can be generated using the labels through supervised learning; note that supervised and / or unsupervised learning can be utilized.
[0170] As an example, updating the training data may be performed in response to issuing a signal indicating a performance-related issue with a trained machine learning model.
[0171] As an example, a method may include evaluating a new trained machine learning model before building a containerized image of the new trained machine learning model.
[0172] As an example, a method may include building a containerized image of a newly trained machine learning model and testing the containerized image. In such an example, the method may include deciding to deploy the containerized image to the live site based on the test.
[0173] As an example, the method may include deploying the new trained machine learning model to at least one field site. For example, the method may include deploying such a model to multiple field sites that may be associated with one or more groups.
[0174] As an example, field devices may include pumps and / or other devices.
[0175] As an example, the trained machine learning model can process at least a portion of the real-time field device data into image data. For example, consider image data including an image of a power indicator card.
[0176] As an example, the method may include performing the evaluation via a web application. For example, the web application may include features for evaluating the performance of a trained machine learning model and features for evaluating the performance of a containerized image of a new trained machine learning model. In such an example, the method may include deploying the containerized image of the new trained machine learning model to at least a live site in response to a notification generated by the web application.
[0177] As an example, a system may include: a processor; a memory accessible to the processor; and processor-executable instructions stored in the memory to command the system to: receive results from a field device at a field site, wherein the results are generated using a trained machine learning model at the field site and real-time field device data from the field device at the field site; issue a signal in response to an evaluation of the results, wherein the signal indicates a performance-related issue with the trained machine learning model; update training data with at least a portion of the real-time field device data to address the performance-related issue; and use at least a portion of the updated training data to generate a new trained machine learning model for deployment to the field site.
[0178] As an example, one or more computer-readable storage media may include processor-executable instructions for instructing a computing system to: receive results from a field device at a field site, wherein the results are generated using a trained machine learning model at the field site and real-time field device data from the field device at the field site; issue a signal in response to an evaluation of the results, wherein the signal indicates a performance-related issue with the trained machine learning model; update training data with at least a portion of the real-time field device data to address the performance-related issue; and generate a new trained machine learning model using at least a portion of the updated training data to deploy to the field site.
[0179] As an example, a computer program product may include one or more computer-readable storage media that may include processor-executable instructions that instruct a computing system to perform one or more methods and / or one or more parts of a method. The various example methods may be performed in various combinations.
[0180] In some embodiments, one or more methods may be performed by a computing system. Fig.13 An example of a system 1300 is shown, which may include one or more computing systems 1301-1, 1301-2, 1301-3, and 1301-4, which may be operatively coupled via one or more networks 1309, which may include wired networks and / or wireless networks. System 1300 may include one or more other components, for example, consider one or more other components 1308.
[0181] By way of example, a system may include a single computer system or an arrangement of distributed computer systems. Fig.13In the example of , computer system 1301-1 may include one or more modules 1302, which may be or may include, for example, processor-executable instructions executable to perform various tasks (e.g., receiving information, requesting information, processing information, simulating, outputting information, etc.).
[0182] As an example, the modules may execute independently or in conjunction with one or more processors 1304 that are operatively coupled (e.g., via wire, wirelessly, etc.) to one or more storage media 1306. As an example, one or more of the one or more processors 1304 may be operatively coupled to at least one of the one or more network interfaces 1307. In such an example, the computer system 1301-1 may transmit and / or receive information, for example, via one or more networks 1309 (e.g., considering one or more of the Internet, a private network, a cellular network, a satellite network, etc.).
[0183] As an example, computer system 1301-1 may receive information from and / or transmit information to one or more other devices, which may be or may include, for example, one or more of computer systems 1301-2, etc. The device may be located at a different physical location than computer system 1301-1. As an example, the location may be, for example, a processing facility location, a data center location (e.g., a server farm, etc.), a drilling rig location, a well site location, a downhole location, etc.
[0184] As an example, a processor may be or may include a microprocessor, a microcontroller, a processor module or subsystem, a programmable integrated circuit, a programmable gate array, or another control or computing device.
[0185] As an example, storage media 1306 may be implemented as one or more computer-readable or machine-readable storage media. As an example, storage may be distributed within and / or between multiple internal and / or external enclosures of the computing system and / or additional computing systems.
[0186] As an example, a storage medium or multiple storage media may include one or more different forms of memory, including: semiconductor memory devices, such as dynamic or static random access memory (DRAM or SRAM), erasable and programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and flash memory; disks, such as fixed disks, floppy disks, and removable disks; other magnetic media, including magnetic tape; optical media, such as compact disks (CDs) or digital video disks (DVDs), Blu-ray disks, or other types of optical storage devices; or other types of storage devices.
[0187] By way of example, the storage medium or media may be located in the machine running the machine-readable instructions, or located at a remote site from which the machine-readable instructions may be downloaded over a network for execution.
[0188] As examples, various components of a system such as, for example, a computer system may be implemented in hardware, software, or a combination of both hardware and software (eg, including firmware), including one or more signal processing circuits and / or application specific integrated circuits.
[0189] As an example, a system may include a processing device, which may be or may include a general purpose processor or a dedicated chip (eg, or chipset) such as an ASIC, FPGA, PLD, or other suitable device.
[0190] Fig.14 Components of an example of a computing system 1400 and an example of a networked system 1410 with a network 1420 are shown. System 1400 includes one or more processors 1402, memory and / or storage components 1404, one or more input and / or output devices 1406, and bus 1408. In an example embodiment, instructions may be stored in one or more computer-readable media (e.g., memory / storage components 1404). Such instructions may be read by one or more processors (e.g., processor 1402) via a communication bus (e.g., bus 1408), which may be wired or wireless. One or more processors may execute such instructions to implement (in whole or in part) one or more properties (e.g., as part of a method). A user may view output from a process and interact with the process via an I / O device (e.g., device 1406). In an example embodiment, a computer-readable medium may be a storage component, such as a physical memory storage device, such as a chip, a chip on a package, a memory card, etc. (e.g., a computer-readable storage medium).
[0191] In an example embodiment, the components may be distributed, such as distributed in a network system 1410. The network system 1410 includes components 1422-1, 1422-2, 1422-3, ... 1422-N. Component 1422-1 may include a processor 1402, and component 1422-3 may include a memory accessible to processor 1402. In addition, component 1422-2 may include an I / O device for displaying and optionally interacting with the method. Network 1420 may be or may include the Internet, an intranet, a cellular network, a satellite network, etc.
[0192] As an example, the device may be a mobile device including one or more network interfaces for conveying information. For example, the mobile device may include a wireless network interface (e.g., operable via IEEE 802.11, ETSI GSM, BLUETOOTH, satellite, etc.). As an example, the mobile device may include multiple components, such as a main processor, a memory, a display, a display graphics circuit (e.g., optionally including a touch and gesture circuit), a SIM slot, an audio / video circuit, a motion processing circuit (e.g., an accelerometer, a gyroscope), a wireless LAN circuit, a smart card circuit, a transmitter circuit, a GPS circuit, and a battery. As an example, the mobile device may be configured as a cellular phone, a tablet computer, etc. As an example, the method may be implemented (e.g., in whole or in part) using a mobile device. As an example, the system may include one or more mobile devices.
[0193] As an example, the system may be a distributed environment, such as a so-called "cloud" environment, in which various devices, components, etc. interact for purposes of data storage, communication, computing, etc. As an example, a device or system may include one or more components for communicating information via one or more of the Internet (e.g., where communication is performed via one or more Internet protocols), a cellular network, a satellite network, etc. As an example, a method may be implemented in a distributed environment (e.g., in whole or in part as a cloud-based service).
[0194] Although only a few example embodiments have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the example embodiments. It is therefore intended that all such modifications be included within the scope of the present disclosure as defined in the appended claims. In the claims, means-plus-function clauses are intended to cover structures described herein as performing the recited function, and not only structural equivalents, but also equivalent structures. Thus, while a nail and a screw may not be structural equivalents because a nail employs a cylindrical surface to fasten wooden parts together, while a screw employs a helical surface, in the context of fastening wooden parts, a nail and a screw may be equivalent structures.
Claims
1. A method (1000), comprising: receiving results from a field device at a field site, wherein the results are generated using a trained machine learning model at the field site and real-time field device data from the field device at the field site (1010); issuing a signal in response to evaluating the result, wherein the signal indicates a performance-related issue with the trained machine learning model (1020); updating training data with at least a portion of the real-time field device data to address the performance-related issues (1030); as well as At least a portion of the updated training data is used to generate a new trained machine learning model for deployment to the field site (1040).
2. The method of claim 1 , comprising deploying the new trained machine learning model to the field site.
3. The method of claim 1 or 2, comprising generating a containerized image of the new trained machine learning model for deployment to the field site.
4. A method as claimed in any preceding claim, wherein the performance-related issues include one or more of model classification drift and model prediction drift.
5. A method as claimed in any preceding claim, wherein generating the new trained machine learning model occurs in response to updating the training data.
6. A method as claimed in any preceding claim, wherein updating the training data comprises utilizing labels assigned to at least a portion of the real-time field device data, optionally wherein the new trained machine learning model is generated by supervised learning using the labels.
7. A method as claimed in any preceding claim, wherein updating the training data occurs in response to issuing the signal.
8. A method as claimed in any preceding claim, comprising evaluating the new trained machine learning model before constructing a containerized image of the new trained machine learning model.
9. A method as claimed in any preceding claim, comprising building a containerized image of the new trained machine learning model and testing the containerized image, and optionally deciding to deploy the containerized image to the live site based on the testing.
10. A method as claimed in any preceding claim, comprising deploying the new trained machine learning model to the field site and at least one additional field site.
11. A method as claimed in any preceding claim, wherein the field device comprises a pump.
12. A method as claimed in any preceding claim, wherein the trained machine learning model processes at least a portion of the real-time field device data into image data, optionally wherein the image data comprises a power indicator card image.
13. A method as claimed in any preceding claim, comprising performing the evaluation via a web application, optionally wherein the web application includes features for evaluating the performance of the trained machine learning model and for evaluating the performance of a containerized image of the new trained machine learning model, and optionally comprising deploying the containerized image of the new trained machine learning model to at least the live site in response to a notification generated by the web application.
14. A system (1090), comprising: Processor(1093); a memory (1094) accessible to the processor; as well as Processor executable instructions (1096) stored in the memory to instruct the system to: receiving results from a field device at a field site, wherein the results are generated using a trained machine learning model at the field site and real-time field device data from the field device at the field site (1011); issuing a signal in response to evaluating the result, wherein the signal indicates a performance-related issue with the trained machine learning model (1021); updating training data with at least a portion of the real-time field device data to address the performance-related issues (1031); and Using at least a portion of the updated training data to generate a new trained machine learning model for deployment to the field site (1041).
15. A computer program product comprising computer executable instructions for instructing a computing system to perform the method according to any one of claims 1 to 13.